首页 文章

JavaFX从现有图像创建新图像

提问于
浏览
0

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

如下:

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

而不是路径实际的图像对象 .

我想改变图像的大小 .

2 回答

  • 0

    通常不需要创建新的 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);
    
  • 2

    迟到的响应,但由于我遇到了同样的问题(我需要一个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));
    }
    

相关问题