在我的游戏中,我使用g2d.scale(scale, scale);缩放Graphics2D对象,以使游戏在所有分辨率下看起来都一样。问题在于图像将无法正确旋转,因为它们被视为比实际大小更大或更小的图像。我想知道是否有一种方法可以获取绘制图像的宽度和高度而不是实际图像,或者是否必须根据屏幕的分辨率手动更改宽度和高度变量?

最佳答案

看一下下面的功能。

public void picture(File pictureFile) {
    Image theImage = null;

    try {
      theImage = getToolkit().getImage(pictureFile.getAbsolutePath());
      getToolkit().prepareImage(theImage, -1, -1, this);

      while ((getToolkit().checkImage(theImage, -1, -1, this) & this.ALLBITS) == 0) {
      }
    } catch (Exception e) {
    }

    // these lines will return Height and Width of image
    theImage.getWidth(this);
    theImage.getHeight(this);
  }

10-02 09:25