我有后台模板,其中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在图像上写高分辨率文本?
更新:这里有抗锯齿的例子。
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
答案 0 :(得分:3)
问题不在于文本的绘制,而是随后保存文件:如果您使用的是JPEG压缩,则会获得compression artifacts,特别是在文字的尖角附近。
除了不使用JPG之外,没有别的办法。