我在网站上查看了所有示例。 我已经编写了代码,位置,文本字体更改,但角度或旋转没有发生。非常感谢任何帮助建议指针
int x = X;
int y = Y;
int w = 9;
int h = 9;
int fontsize = 7;
Rectangle bounds = new java.awt.Rectangle(x, y, w, h);
ShapeGroup group = new ShapeGroup();
group.setAnchor(bounds);
slide.addShape(group);
Graphics2D graphics = new PPGraphics2D(group);
AffineTransform affineTransform = new AffineTransform();
affineTransform.rotate(50);
java.awt.Shape circle = new Ellipse2D.Float(x, y, 9, 9);
graphics.draw(circle);
graphics.setPaint(colorRating);
graphics.fill(circle);
//graphics.rotate(-Math.PI/2);
graphics.setColor(new Color(159, 78, 15));
Font font = new Font("Arial", Font.BOLD, fontsize);
Font rotatedFont = font.deriveFont(affineTransform);
graphics.setFont(rotatedFont);
graphics.setTransform(affineTransform);
graphics.drawString(siteName, x + 11, y + fontsize + 1);
graphics.setFont(font);
答案 0 :(得分:0)
我向vldocking项目报告了类似的错误:当在MacOS上使用时,当标签位于左/右时,标签标题不会旋转90°。在进一步调查之后,我提交了一个补丁,该补丁相当于一行:
graphics.setRenderingHint(
RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
如果没有抗锯齿,文本渲染会采用优化路径,从而跳过旋转字形的能力。
我不知道你是否在MacOS上,使用相同的java实现。尝试设置抗锯齿属性,如果这不起作用,还可以使用其他一些渲染提示。
祝你好运!