我目前正在使用下面的代码绘制一条线,并希望在我的路径周围获得边界框,但是如果我调用path.getBounds()我会得到一个忽略笔划宽度和线连接的边界框,因此我的绘图最终有放置在 JViewport 内时,某些部分被剪裁。我怎样才能得到真正要绘制的边界框。
GeneralPath path = new GeneralPath();
if (fPoints.size() > 0) {
Point first = (Point)fPoints.elementAt(0);
path.moveTo((float)first.getX(),(float) first.getY());
for (int i = 1; i < fPoints.size(); i++) {
Point p1 = (Point) fPoints.elementAt(i);
path.lineTo(p1.x, p1.y);
}
}
g2d.setStroke(new BasicStroke(lineModel.getStrokeWidth(), BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND));
g2d.setColor(lineModel.getLineColor());
g2d.draw(path);