从下面的代码中,我们可以得到文本的边界矩形:
Graphics2D twoD = (Graphics2D) g;
FontRenderContext frc = twoD.getFontRenderContext();
Rectangle2D textBound = myFont.getStringBounds(myText, frc);
但在核心java教科书中,它说
矩形的起源是 字符串的基线和顶部 矩形的y坐标是 负
这是什么意思,为什么顶部的y坐标是负的?
对此概念的任何澄清都表示高度赞赏?
由于
答案 0 :(得分:3)
在测量文本时,没有关于绘制文本的概念。所以他们有些随意,但我认为合理的决定点(0,0)位于文本的基线,第一个字符的左边。
这很好,因为如果你要说
void drawSomeText(Graphics g, String sample) {
g.drawString(sample, 0, 0);
}
它适合测量文字告诉你的方框。
鉴于文本的上升越来越消极,而下降者占据正 y 空间。