我正在开发一种带有Java2D形状的图表。我想通过在中点写一些文字来标记这些形状。
在大多数情况下,只需获得矩形边界的中心就足够了。这是我使用的相当简单的代码。
Area area = segment.area;
int topLeftX = (int)area.getBounds().getX();
int topLeftY = (int)area.getBounds().getY();
double width = (int)area.getBounds().getWidth();
double height = (int)area.getBounds().getHeight();
double xPoint = topLeftX + (width/2);
double yPoint = topLeftY + (height/2);
g2d.drawString(segment.name, (int)xPoint, (int)yPoint);
然而,我所拥有的一些形状是弧形的(即挖空),因此中心点实际上最终呈现其他形状。
我试图找到一种方法来找到一个形状的点,我可以放置我的文本,这样它就代表了实际的形状,而不是某些形状可能是"内部"。
任何想法的想法?