在 Java 中更改字体和绘制字符串的正确语法是什么?
有人可以在这里检查我的语法吗?我将“Times New Roman”、“Arial”、“Verdana”传递给 fontName
并使用 8、12、15 等作为 fontSize
。它永远不会改变这里的字体。我这样做是为了在图像上写一些文字。
Graphics2D g2d = (Graphics2D) bufferedImage.getGraphics();
g2d.drawImage(photo, 0, 0, null);
g2d.setColor(Color.white);
Font font = new Font(fontName, Font.PLAIN, fontSize);
g2d.setFont(font);
g2d.drawString(text,x,y);
Can someone check my syntax here? I am passing "Times New Roman","Arial","Verdana" to fontName
and using 8,12,15 etc. for fontSize
. It never changes the font here. I am doing this to write some text over an image.
Graphics2D g2d = (Graphics2D) bufferedImage.getGraphics();
g2d.drawImage(photo, 0, 0, null);
g2d.setColor(Color.white);
Font font = new Font(fontName, Font.PLAIN, fontSize);
g2d.setFont(font);
g2d.drawString(text,x,y);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我最终发现系统上没有我的列表中的字体,因此我必须使用 getAllFonts() 方法并仅传递列表中的那些字体。
I finally found out that none of fonts from my list were there on the system so I had to use getAllFonts() method and pass only those fonts from the list .
你应该这样做
Sun 文档摘录
这并不真正意味着您不应该使用
getGraphics
API。只是上面的代码对我有用:)You should be doing this
Excerpt from sun documentation
This does not really mean that you should not use
getGraphics
API. Just that the above code worked for me :)