将文本转换为图像-计算确切的文本宽度

时间:2019-04-19 05:11:28

标签: java

我需要将文本转换为图像。我在另一个线程中找到了一些代码,并对其做了一些修改。 在本地,一切正常。文本恰好在图像的结尾处结束。但是在服务器上(运行openJDK),看不到整个文本(缺少2.5个字母)。

我试图以不同的方式计算正确的宽度。例如

jar -tf $PLAY_DEV_HOME/deployment/tools_sirf_server_assembly.jar | grep sirf

但是计算出的宽度始终是相同的。

FontRenderContext frc = g2d.getFontRenderContext();
Rectangle2D r2d = font.getStringBounds(row, frc);
int width = (int)Math.ceil(r2d.getWidth());

int width = g2d.getFontMetrics(g2d.getFont()).stringWidth(row);

计算独立于平台的尿道宽度的最佳方法是什么?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

@MadProgrammer

感谢提示! 这是。在计算大小之前,必须另外设置这两个提示。

g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);