AWT字符串宽度取决于DPI

时间:2012-11-24 17:18:51

标签: java fonts awt

我们正在开发一个打印应用程序。使用AWT以两种不同分辨率的模式渲染相同的文本 - 屏幕(小DPI)和打印(300 DPI)。

问题是文本布局取决于DPI。而这种依赖是非线性的。有例子:

enter image description here 宽度:200像素,字体大小:10磅

enter image description here 宽度:400像素,字体大小:20磅

enter image description here 宽度:600像素,字体大小:30磅

矩形宽度和字体大小从第一个图像到第三个图像成比例增加。但是在第一张图片上我们只有“懒惰”,第二张图片我们有“懒惰”,而第三张图片只有“懒惰”。

有没有办法限制文本布局,同时增加像素的总图像尺寸?

2 个答案:

答案 0 :(得分:0)

SVG渲染器可能更适合您,因为您可以构建单个矢量图像并以任意像素密度渲染它。

Batik可能有效,但我从未使用过它。

答案 1 :(得分:0)

graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);