Graphics2D绘制文字默认情况下会有锯齿,设置抗锯齿后出现模糊,经过多次尝试得出非技术性的解决方案,但是确实有效果。
原理是在绘制正文前,先用阴影颜色绘制一遍文字,代码如下:
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);//设置抗锯齿
g2d.setPaint(new Color(0, 0, 0, 64));//阴影颜色
g2d.drawString(txt, x, y);//先绘制阴影
g2d.setPaint(Color.BLACK);//正文颜色
g2d.drawString(txt, x, y);//用正文颜色覆盖上去