有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用BuffereImage更改图像上文本的颜色?

使用BufferedImage bgImage我想为图像上的文本设置黑色

BufferedImage bgImage = createBgImageForText();
bgImage.createGraphics().drawString(player.getPlayerName(), 25, 15);
if ("Y".equalsIgnoreCase(player.getCaptain())) {
    bgImage.createGraphics().setPaint(Color.BLACK);
} else {
    bgImage.createGraphics().setPaint(Color.WHITE);
}

mainImg.getGraphics().drawImage(bgImage, 10, 10, null);

但默认情况下,文本始终为白色。 如何更改文本的颜色


共 (1) 个答案

  1. # 1 楼答案

    您需要存储使用bgImage.createGraphics()创建的Graphics实例,然后可以在绘制文本之前设置颜色:

    BufferedImage bgImage = createBgImageForText();
    Graphics2D g = bgImage.createGraphics();
    if ("Y".equalsIgnoreCase(player.getCaptain())) {
        g.setPaint(Color.BLACK);
    } else {
        g.setPaint(Color.WHITE);
    }
    g.drawString(player.getPlayerName(), 25, 15);
    g.dispose();