gpt4 book ai didi

java - 在 Graphics2D 上绘制文本

转载 作者:行者123 更新时间:2023-12-01 23:28:13 24 4
gpt4 key购买 nike

我创建了一个窗口并使用双缓冲区绘制它。问题是,如果我在 y = 0 处使用 Graphics2D 绘制一些文本,它不会出现在屏幕上。我尝试将 BufferedImage 渲染到较低的位置,但这没有帮助,并且在窗口顶部留下了一个白色区域。

提前非常感谢

最佳答案

这是因为text is measured g.drawString("Hello", 0, 0); 将以第一个字母 "H" 的基线在 (0,0 )。这意味着在 (x,0) 处绘图将始终至少有一些文本在 View 之外。如果您希望文本的顶角位于 (x,y) 处,则必须测量字体的高度并将其用作偏移量

public static void drawStringTopLeft(Graphics2D g, String s, int x, int y) {
FontMetrics fm = g.getFontMetrics(g.getFont());
int yOffset = fm.getAscent();
g.drawString(s, x, y+yOffset);
}

关于java - 在 Graphics2D 上绘制文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19713545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com