【发布时间】:2016-04-19 14:58:14
【问题描述】:
有人可以帮忙编写一些代码,以便在 JavaFx 中为图像创建缩略图。
我是这方面的新手,所以我们将不胜感激。
【问题讨论】:
标签: java javafx thumbnails
有人可以帮忙编写一些代码,以便在 JavaFx 中为图像创建缩略图。
我是这方面的新手,所以我们将不胜感激。
【问题讨论】:
标签: java javafx thumbnails
您可以使用 Image 构造函数从较大的图像创建缩略图图像,这是来自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 一起使用,将调整大小的图像保存到磁盘。
在你创建了调整大小的Image之后,你可以把它放在一个ImageView中进行展示:
ImageView imageView = new ImageView(image);
您可以使用ImageView 通过操纵 ImageView 的视口或 fitHeight 和 fitWidth 属性来调整图像视图的大小。如果您有许多缩略图图像,则不希望这样做。在 ImageView 而不是 Image 构造函数中调整图像大小意味着支持 ImageView 的 Image 保持完整大小,当您有大量图像时,这将很快消耗大量内存。
【讨论】: