如何获得Java g.drawString()的高分辨率?

时间:2011-04-21 08:45:26

标签: java image graphics resolution

我有后台模板,其中java程序必须编写一些动态文本,

BufferedImage image = ImageIO.read(new File("background.jpg"));
Graphics g = image.createGraphics();

g.setFont(new Font("DejaVu Sans",Font.PLAIN,18));
g.drawString("Hello,World!",10,10);

以这种方式写作时,我在Java写的文本周围有一些解决问题。

如何用Java在图像上写高分辨率文本?

更新:这里有抗锯齿的例子。 enter image description here

g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

1 个答案:

答案 0 :(得分:3)

问题不在于文本的绘制,而是随后保存文件:如果您使用的是JPEG压缩,则会获得compression artifacts,特别是在文字的尖角附近。

除了不使用JPG之外,没有别的办法。