在JavaFX中,您可以从字符串(路径)创建新图像,如何从现有的javafx.scene.image.image创建新图像?
如下:
Image image2 = new Image("my/res/flower.png", 100, 150, false, false);
但不是路径而是实际的图像对象。
我想更改图片的大小。
答案 0 :(得分:2)
通常不需要创建新的Image
实例来执行重新缩放。 API允许您查看或绘制现有Image
实例的缩放版本。例如,给定
Image image = new Image("my/res/flower.png");
您可以使用
创建显示缩放版本的ImageView
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);
答案 1 :(得分:0)
迟到的响应,但由于我遇到了同样的问题(我需要将一个Image传递给setDragView()),这是我实现的解决方案:
Image makeThumbnail(Image original) {
ImageView i = new ImageView(original);
i.setFitHeight(64); i.setFitWidth(64);
return i.snapshot(new SnapshotParameters(), new WritableImage(64, 64));
}