Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得Java g.drawString()的高分辨率?_Java_Image_Graphics_Resolution - Fatal编程技术网

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

如何获得Java g.drawString()的高分辨率?,java,image,graphics,resolution,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编写的文本存在一些解析问题 如何使用J

我有一些背景模板,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在图像上编写高分辨率文本

更新:这里是抗锯齿的示例。


问题不在于文本的绘制,而在于文件的后续保存:如果使用JPEG压缩,则会得到,特别是在文本等锐角处


除了不使用JPG之外,没有真正的解决方法。

分辨率由您使用的字体和图像中的像素数决定。也许你在寻找抗锯齿?谢谢,我读了一些文章,然后尝试了,这不是抗锯齿,背景分辨率很高,当用方法drawString()编写文本时,文本周围会出现一些像素数很低的矩形,看起来很糟糕。如果你添加了一个示例图像(屏幕截图),你的意思会更清楚。@Rinat:你的意思一点也不清楚,请发布一个截图。我添加了图像,文本周围有些模糊!替代方法是使用PNG,或者将JPEG压缩质量设置为高。下面是设置压缩质量的示例代码段:
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);