java 上坡度

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:42:07
在字体一节中,以getStringBounds方法返回的矩形的顶部的y坐标为何为负值? 如:
FontRenderContext context = g2.getFontRenderContext();
Rectangle2D bounds = f.getStringBounds(message,context);

//(x,y) = top left corner of text
double x = (getWidth() - bounds.getWidth())/2;
double y = (getHeight() - bounds.getHeight())/2;
double ascent = -bounds.getY();
double baseY = y + ascent;
g2.drawString(message, (int)x, (int) baseY);

此处的ascent的坐标是否以baseline为"原点"的坐标(负值), 这其中有什么讲究吗?

x,y的值不对吧,x,y应该是那个字的坐标(reference point)
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/FontMetrics.html