【问题标题】:Draw rotated ImageIcon using Java使用 Java 绘制旋转的 ImageIcon
【发布时间】:2015-07-11 12:58:33
【问题描述】:

我有ImageIcon face,我不知道如何使用命令rotate 来旋转玩家脸部。我知道旋转是针对点0, 0。但是如何仅用于旋转一项?

我的代码是:

int size = 40;
int angle = getAngle(); // in degree...

g2.rotate(Math.toRadians((double)angle); //????????
g2.drawImage(face.getImage(), size * col, size * row, null);

谁能给我建议?

谢谢。

【问题讨论】:

  • 请详细说明您的问题。如果您的问题是您只想旋转您绘制的一件东西,请考虑创建一个 Graphics2D 对象的副本,并使用该副本来旋转和绘制一个项目。为了更好地向您展示如何做到这一点,请再次向我们提供有关您的问题的更多详细信息,并创建并发布一个小而简单的完整程序来说明您的问题,MCVE。请查看链接了解这个非常有用的工具的详细信息。

标签: java graphics rotation


【解决方案1】:

您可以使用Rotated Icon 类来更改图标在绘制时的旋转度数。 RotatedIcon 类可用于在任何使用图标的组件上旋转图标。

您还可以使用如下代码在面板上自定义绘制RotatedIcon

1) 你会创建这样的图标:

RotatedIcon face = new RotatedIcon(new ImageIcon(...), 0);

2) 然后在你的绘画代码中使用:

face.paintIcon(this, g2, x, y); // determine you x/y location

3) 当你想旋转你使用的图标时:

face.setDegrees(...);
panel.repaint(); // then panel where you do the custom painting

【讨论】:

    猜你喜欢
    • 2018-11-25
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    相关资源
    最近更新 更多