我正在使用 Java Graphics2D 绘制基本和复杂的多边形,其中包含不同长度和字体的文本。我想要实现的是绘制的文本被完美地包裹和剪裁以适合多边形。
我到目前为止的代码是这样的:
int[] xp = { x + width /2, x + width -1, x };
int[] yp = { y, y + height - 1, y + height - 1 };
g.setColor(fill.color1);
g.fillPolygon(xp, yp, xp.length);
g.setColor(border.color);
g.setStroke(new BasicStroke((float) (border.width * zoom), BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER));
g.drawPolygon(xp, yp, xp.length);
// Later on in the method..
g.drawString(text, textx, texty);
这可以很好地绘制形状和文本,但文本只是一条长线。我希望它整齐地融入多边形。