在javafx中创建图像缩略图

时间:2016-01-14 10:18:08

标签: java javafx thumbnails

有人可以帮助您使用一些代码来为JavaFx中的图像创建缩略图。

我是新手,所以一步一步的解释将不胜感激。

1 个答案:

答案 0 :(得分:3)

您可以使用图像构造函数从较大的图像创建缩略图图像,这是来自Image javadoc的示例:

// load an image and resize it to width of 100 while preserving its
// original aspect ratio, using faster filtering method
// The image is downloaded from the supplied URL through http protocol
Image image3 = new Image("http://sample.com/res/flower.png", 100, 0, false, false);

Image构造函数所做的是加载图像并调整其大小,仅将图像像素存储在内存中,因此它是I / O和处理器密集型,但是内存光。

请注意,如果你这么做很多,它会变得非常昂贵,这就是为什么一些图像查看系统在创建它们之后将缩略图保存到磁盘的原因,以便下次需要缩略图时从磁盘读取而不是阅读和调整整个原始文件的大小。 ImageIO可以与SwingFXUtils一起使用,以便在您希望这样做的情况下将已调整大小的图像保存到磁盘。

创建调整大小后的图像后,可以将其放在ImageView中进行显示:

ImageView imageView = new ImageView(image);

您可以使用ImageView通过操纵ImageView的视口或fitHeight和fitWidth属性来调整图像视图的大小。如果您有许多缩略图,则不希望这样做。调整ImageView中的图像大小而不是Image构造函数意味着支持ImageView的图像保持完整大小,当您拥有大量图像时,这将快速消耗大量内存。