我正在测量我的程序中的一些字体指标,然后使用它们来创建一个输出PDF文件。
为此,我使用了Graphics2D、FontContextRendered、GlyphVectors以及所有与之相关的工具。我用指定的字体在JTextArea上调用JTextArea()。
但是,如果两个用户使用相同的数据创建相同的文档,但是在两个不同的设备上,我需要这些文档完全相同。
但是,由于Graphics2D使用的是当前设备的DPI (我在设备之间的差异),所以情况可能不是这样。
现在我可以做两件事:
我猜第二种方法比较容易,但我不知道怎么做。你能帮帮我吗?
发布于 2013-09-18 17:44:49
Graphics2D g2d;
final AffineTransform trans = g2d.getDeviceConfiguration().getNormalizingTransform();
System.out.println(trans.getScaleX()*72+" DPI horizontally");
System.out.println(trans.getScaleY()*72+" DPI vertically");您可以将转换设置为Graphics2D强制72DPI,也可以使用所需DPI与72DPI之间的比率将其缩放到任何其他DPI。
https://stackoverflow.com/questions/18878353
复制相似问题