使用 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);
但默认情况下文本始终为白色。 如何改变文字的颜色?
最佳答案
您需要存储使用 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();
关于java - 如何使用 BufferedImage 更改图像上文本的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269597/