java - AWT 字符串宽度取决于 DPI

标签 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 磅

矩形宽度和字体大小从第一张图片到第三张图片按比例增加。但是在第一张图片上我们只有“lazy”,在第二张图片上我们有“lazy do”,在第三张图片上只有“lazy d”。

有什么方法可以在增加总图像像素大小的同时限制文本布局?

最佳答案

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

关于java - AWT 字符串宽度取决于 DPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13543575/

相关文章:

java - Volley 教程 - getCacheDir() - 无法解析方法

java - 如何将对象列表设置为 Vaadin 8 组合框

java - 复选框不显示

java - 在 Graphics2D 中旋转动画线 (Java)

java - 在 spring 工具套件中找不到丢失的 com.css maven Artifact

java - 在 Java 与 Python 中将字节转换为整数

css - 随机单词/文本在谷歌浏览器中变粗

vim - 在 vim 中渲染孟加拉语(可能还有其他印度语)字体

html - Firefox 开发者忽略字体粗细

java - BoxLayout can't be shared error while setting it for JPanel 如何解决?