在Java2D中标记任意形状

时间:2014-03-14 12:45:38

标签: java java-2d

我正在开发一种带有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);

然而,我所拥有的一些形状是弧形的(即挖空),因此中心点实际上最终呈现其他形状。

我试图找到一种方法来找到一个形状的点,我可以放置我的文本,这样它就代表了实际的形状,而不是某些形状可能是"内部"。

任何想法的想法?

0 个答案:

没有答案