Java 我的文本边框
从以下代码中,我们可以得到文本的边框:Java 我的文本边框,java,swing,graphics,java-2d,Java,Swing,Graphics,Java 2d,从以下代码中,我们可以得到文本的边框: Graphics2D twoD = (Graphics2D) g; FontRenderContext frc = twoD.getFontRenderContext(); Rectangle2D textBound = myFont.getStringBounds(myText, frc); 但在核心java教科书中,它说 矩形的原点位于 字符串的基线和顶部 矩形的y坐标为 没有 这是什么意思,为什么顶部的y坐标是负数 对这一概念的任何进一步澄清都是非
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);
}
它可以放在measure text告诉您的框中
考虑到文本的上升越来越负,而下降者占据正y空间。谢谢你的回答,我现在有了任意绘制文本的想法,但你为什么说下降者占据正x空间,不用y空间,只需在基线下方吼叫。+1 API调用这些基线相对坐标。中的图片也很好。没关系,MeBigFatGuy,非常感谢您的解释