如何在此Java函数中关闭文本抗锯齿?

时间:2011-12-18 04:49:10

标签: java antialiasing

基本上我想在以下内容中关闭antialias:

public BufferedImage createText(String text) {

    //create image
    BufferedImage image = new BufferedImage(95, 20, 
        BufferedImage.TYPE_INT_ARGB);
    Graphics2D graphics = (Graphics2D) image.getGraphics();

    //set background
    graphics.setColor(Color.white);
    graphics.fillRect(0, 0, 95, 20);

    //draw text
    graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
        RenderingHints.VALUE_ANTIALIAS_OFF);

    graphics.setColor(Color.black);
    graphics.setFont(new Font("volter", Font.PLAIN, 9));
    graphics.drawString(text, 0, 10);

    return image;
}

但是它不起作用,这是函数生成的东西:

enter image description here

我只想要使用黑白,没有别的,所以重要的是我禁用了antialias!

1 个答案:

答案 0 :(得分:5)

请改为尝试:

graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
                          RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);