【问题标题】:Java, Rotating an image around itselftJava,围绕自身旋转图像
【发布时间】:2013-02-27 22:29:54
【问题描述】:

我知道如何在 java 中旋转图像,但我找不到使用 Graphics2D.rotate 方法围绕其中心旋转图像的方法。这是我所拥有的。

public void rotateLeft(Graphics2D g) {
    rotateLeft++;

    g.rotate(Math.toRadians(rotateLeft), charX, charY);
}

顺便说一句,charX 和 charY 是坐标...那么,谁能帮帮我?

【问题讨论】:

    标签: java image swing image-rotation


    【解决方案1】:

    你可以使用:

    g.rotate(angle, (imageWidth / 2) + 1, (imageHeight / 2) + 1);
    

    【讨论】:

    • 假设您在(0,0)中绘制图像
    • 它不起作用...另外,我正在屏幕上移动我的图像,所以该方法必须是动态的..
    • 这个我用过很多次了。可以发SSCCE 来说明问题吗?
    【解决方案2】:

    这就是我的做法:

            AffineTransform oldTrans = g2d.getTransform();
            g2d.rotate(-theta,xNow+bufferedBox.getWidth()/2, this.getHeight() - groundY - yNow - bufferedBox.getHeight()/2);
            g2d.drawImage(bufferedBox, xNow, this.getHeight() - groundY - yNow - bufferedBox.getHeight(), null);
            g2d.setTransform(oldTrans);
    

    xNow 和 yNow 是我的盒子所在的坐标。 “this”指的是 jPanel,groundY 是偏移量(它在地面上)。 bufferedBox 指的是我的图片

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 2018-07-05
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多