java - 为什么 g2d.rotate 到 90 度不完全是 90 度? JAVA

标签 java text rotation

您好,我正在尝试创建一个循环文本。我设法通过循环每个旋转的字符来以某种方式做到这一点。但我还是不明白。我不明白的角度。有人可以给我一个很好的解释吗?就像下面的代码一样,为什么 a 不完全是 90 度?但介于 100 到 120 之间?

Graphics2D g2d = (Graphics2D)g;
    AffineTransform xform1, cxform;
    xform1 = AffineTransform.getTranslateInstance(200,200);
    g2d.setTransform(xform1);
    g2d.drawLine(0, -20, 0, 20);
    g2d.drawLine(-20, 0, 20, 0);
    xform1.rotate(Math.toDegrees(90));
    g2d.setTransform(xform1);
    g2d.drawString("a", 0, 20);

我的第一篇文章。希望我没有犯任何错误。 谢谢

最佳答案

您想旋转 90 度,但是 rotate需要弧度 - 所以你的转换是错误的。您将 90 弧度转换为度数,然后将其传递给需要弧度的值 :) 试试这个:

xform1.rotate(Math.toRadians(90));

关于java - 为什么 g2d.rotate 到 90 度不完全是 90 度? JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087629/

相关文章:

javascript - 如何使用按钮让某个 Croppie JavaScript 旋转

iphone - 旋转父 View 后计算 CGAffineTransform 矩阵

java - 如何清除android中静态自定义 ListView 的所有 ListView 项?

java - 用于大输出的 Java 高级文本记录 Pane

c# - 从字符串中删除重复的单词

java - 在 LibGDX 中在 Sprite 像素级别而不是屏幕像素级别旋转 Sprite

Java 8 如何在使用 DateTimeFormatter#format 时排除可选部分

java - ActionListener 调用阻止 MouseClick 事件

python - 崇高文本 3 API : Get all text from a file

使用图像的文本渐变