2017-04-17 66 views
0

在JavaFX中,你可以从字符串(路径)创建一个新的图像,我将如何去从现有的javafx.scene.image.image创建一个新的图像?JavaFX从现有的图像创建一个新的图像

如下:

Image image2 = new Image("my/res/flower.png", 100, 150, false, false); 

代替路径的实际图像对象。

我想更改图像的大小。

+0

你需要一个缩放版本的ImageView新的'图像'?想必你会在['ImageView'](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/image/ImageView.html)中显示它:为什么不只是创建多个'来自同一图像的ImageView? –

+0

我想将缩放的图像绘制到画布上。 –

+0

所以,只需使用['drawImage(...)'](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/canvas/GraphicsContext.html#drawImage-javafx.scene。 image.Image-double-double-double-double-double-double-double-double-)方法,允许您绘制缩放版本。再次,没有必要创建一个新的图像。 –

回答

2

通常不需要创建新的Image实例来执行重新缩放。 API允许您查看或绘制现有的Image实例的缩放版本。例如,给定

Image image = new Image("my/res/flower.png"); 

您可以创建一个显示与

ImageView imageView = new ImageView(image); 
imageView.setFitWidth(100); 
imageView.setFitHeight(150); 

,或者你可以得出一个缩放版本的画布

Canvas canvas = ... ; 
GraphicsContext gc = canvas.getGraphicsContext2D(); 
gc.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), 0, 0, 100, 150); 
相关问题