Jub*_* F. 3 buffer bufferedimage antialiasing javax.imageio
在 Paint XP 或 Paint Windows 8 中,当您编写文本时,程序会自动提高字体质量(至少对于财务打印机而言)。我想知道如何使用下面相同的 Java 代码来做到这一点。
首先,看看这张图片,看看我的意思:

BufferedImage image = ImageIO.read(new File("blankdocument.bmp"));
Graphics g = ((BufferedImage) image).getGraphics();
Font helvetica = new Font("Lucida Sans Unicode", Font.PLAIN, 13);
g.setColor(Color.black);
g.setFont(helvetica);
g.drawString("TEXT WRITING EXAMPLE.", 5, 10);
ImageIO.write(image, "PNG", new File("testx.PNG"));
image.flush();
Run Code Online (Sandbox Code Playgroud)
您可以打开抗锯齿功能。从控制渲染质量开始,
要在上下文中设置或更改渲染提示属性
Graphics2D,请构造一个RenderingHints对象并Graphics2D使用setRenderingHints方法将其传递到其中。如果您只想设置一个提示,您可以调用Graphics2DsetRenderingHint并指定您要设置的提示的键值对。(键值对在类中定义RenderingHints。)
Graphics2D g2 = (Graphics2D) g;
RenderingHints rh = new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2.setRenderingHints(rh);
Run Code Online (Sandbox Code Playgroud)