更改javafx接口内图像的大小

更改javafx接口内图像的大小,java,javafx,Java,Javafx,我的javafx软件中有一个图像,我想从代码中定义它的大小。我阅读图片时使用的代码如下: image= new Image(gui.getClass().getResourceAsStream("img.gif")); imageIMG.setGraphic(new ImageView(image)); 我想在GUI中定义此图像的大小。当我试图设置大小时,我发现我不能使用像image.setHeight/Width这样的方法。为什么我不能定义图像的大小?有没有其他办法 编辑:这是我在图形中加载

我的javafx软件中有一个图像,我想从代码中定义它的大小。我阅读图片时使用的代码如下:

image= new Image(gui.getClass().getResourceAsStream("img.gif"));
imageIMG.setGraphic(new ImageView(image));
我想在GUI中定义此图像的大小。当我试图设置大小时,我发现我不能使用像
image.setHeight/Width
这样的方法。为什么我不能定义图像的大小?有没有其他办法


编辑:这是我在图形中加载图像时执行的操作

JavaFX中的
图像
只是图像数据的容器。您可以在加载时缩放图像(使用另一个构造函数),但此更改是永久性的(但可用于节省内存)

如果要显示
图像
,请将其包装在
图像视图
中。此类具有根据需要动态缩放图像的方法。它不会更改基础数据

图像
可以重复使用。您可以在多个
ImageView
s中使用相同的
图像
,并以不同的大小显示它,而无需加载同一图像的多个副本

更新

image= new Image(gui.getClass().getResourceAsStream("img.gif"));
ImageView iv = new ImageView(image);
iv.setFitWidth(100);  // Change size
imageIMG.setGraphic(iv);

JavaFX中的
图像
只是图像数据的容器。您可以在加载时缩放图像(使用另一个构造函数),但此更改是永久性的(但可用于节省内存)

如果要显示
图像
,请将其包装在
图像视图
中。此类具有根据需要动态缩放图像的方法。它不会更改基础数据

图像
可以重复使用。您可以在多个
ImageView
s中使用相同的
图像
,并以不同的大小显示它,而无需加载同一图像的多个副本

更新

image= new Image(gui.getClass().getResourceAsStream("img.gif"));
ImageView iv = new ImageView(image);
iv.setFitWidth(100);  // Change size
imageIMG.setGraphic(iv);

我实际上使用的是setGraphic(newimageview(image));将其加载到我的界面,但我仍然不确定如何更改图像的大小;将其加载到我的界面,但我仍然不确定如何更改图像的大小。