javaFx图像高度和宽度向后移动?

时间:2017-12-30 03:06:11

标签: java image javafx png

我在javaFx中制作游戏。渲染游戏中实体的方式取决于其中一个名为" angle"的字段,如下所示:

        gc.save();
        gc.transform(new Affine(new Rotate(angle, getCenterX(), getCenterY())));
        gc.drawImage(image, x, y);
        gc.restore();

" GC"是GraphicsContext。 getCenter方法将使用图像的高度和宽度。但是,图像无法正确呈现。我运行了一些测试,发现当我使用获取宽度方法时,它实际上返回了图像的高度。当我调用 get Height 方法时,它会返回宽度。我的猜测是,因为我使用的png图像相对于它们的原始状态旋转了90度。但是,当我去预览并查看它们的大小时,似乎一切都很好。我尝试复制图像,但它并没有真正起作用。任何想法如何解决这一问题?我没有可验证的代码示例,因为我相信这个问题与png文件和javaFx的Image方法的属性更相关,而不是我的程序逻辑。 enter image description here enter image description here

以下是可验证的代码示例:

import javafx.embed.swing.JFXPanel;
import javafx.scene.image.Image;

public class TestImage {    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFXPanel jfxPanel = new JFXPanel();
        Image BLUE01 = new Image("/blue01.png");
        System.out.println("height : "+ BLUE01.getHeight());
        System.out.println("wdith : "+ BLUE01.getWidth());
    }
}

这是图像: enter image description here

1 个答案:

答案 0 :(得分:0)

似乎问题来自不是我的代码,而是我对IDE的使用...事实证明,在我的资源文件夹中编辑或添加图像后,我需要点击"刷新"在日食......