我的文本边框



从下面的代码中,我们可以得到文本的边界矩形:

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空间,

最新更新