从下面的代码中,我们可以得到文本的边界矩形:
Graphics2D twoD = (Graphics2D) g;
FontRenderContext frc = twoD.getFontRenderContext();
Rectangle2D textBound = myFont.getStringBounds(myText, frc);
但是在核心Java教科书中,它说
矩形的原点在绳子的基线和顶部矩形的y坐标是负面的。
这意味着什么,为什么上面的y坐标是负的?
对这个概念的进一步澄清是非常感谢的?
谢谢
当您测量文本时,没有概念您在哪里绘制它。所以他们做出了有点武断,但我认为是明智的决定,即点(0,0)位于文本的基线,在第一个字符的左侧。
这很好,因为如果你要说
void drawSomeText(Graphics g, String sample) {
g.drawString(sample, 0, 0);
}
它将适合测量文本告诉你的盒子。
鉴于文本的上升方向越来越负,而下降方向占据了正的y空间,