我有一段代码,下面我已经添加了包含Rectangle对象。 我可以看到我的文字正在旋转,而不是矩形。
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
String s = "dasdasdasd1";
Font font = new Font("Courier", Font.PLAIN, 12);
g2d.translate(20, 20);
FontRenderContext frc = g2d.getFontRenderContext();
GlyphVector gv = font.createGlyphVector(frc, s);
int length = gv.getNumGlyphs();
Rectangle2D barra=new Rectangle2D.Double(0, 0, 700, 500);
g2d.draw(barra);
for (int i = 0; i < length; i++) {
Point2D p = gv.getGlyphPosition(i);
AffineTransform at = AffineTransform.getTranslateInstance(p.getX(), p.getY());
at.rotate((double) i/(double) (length - 1) * Math.PI/3);
Shape glyph = gv.getGlyphOutline(i);
Shape transformedGlyph = at.createTransformedShape(glyph);
g2d.fill(transformedGlyph);
}
也许你可以试试这个。