我正在尝试从 ttf 文件创建字体,然后使用 Graphics2D 将其渲染为屏幕上的特定颜色。
字体加载正常并以正确的字体呈现在屏幕上,但是文本的颜色保持黑色。如何将文本的颜色更改为白色或其他颜色?感谢您的帮助!
获取字体:
public Font getFont(String name) {
Font font = null;
if (name == null) {
font = new Font("sans", Font.PLAIN, 24);
}
try {
String fname = "assets/fonts/" + name;
File fontFile = new File(fname);
font = Font.createFont(Font.TRUETYPE_FONT, fontFile);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
} catch (Exception e) {
e.printStackTrace();
}
return font;
}
绘制文字:
Font title = getFont("PressStart2P.ttf");
g2.setFont(title.deriveFont(30.0f));
g2.setColor(Color.WHITE);
g2.drawString("A Game of Squares", 50, 80);
最佳答案
问题出在这里:
g2.setColor(new Color(Color.WHITE));
Java 中的 Color 类不接受另一个 Color 对象作为其构造函数的输入,因为 Color.WHITE(以及无数其他预定义的颜色)是对 Color 对象的引用,该行应为:
g2.setColor(Color.WHITE);
来源:http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html
关于java - 更改图形 drawString 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23401948/