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

问题描述 投票:0回答:1

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

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

“Gc”是GraphicsContext。 getCenter方法将使用图像的高度和宽度。但是,图像无法正确呈现。我运行了一些测试,发现当我使用get Width方法时,它实际上返回了图像的高度。当我调用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

java image javafx png
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.