使用Thumbnailator,无论图像大小如何,我都可以制作具有相同高度和宽度的缩略图

时间:2012-03-06 06:33:18

标签: java image-processing thumbnails

Thumbnailator中,我正在制作缩略图。

如果图像尺寸为400 * 300,如果我做了以下事情,

Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .toFile(new File("thumbnail.jpg"));

它创建了160 * 120的缩略图。

我想要的是如果我上传400 * 300图像,它将居中缩放,这样我将变为300 * 300然后它将缩略图。

我浏览了文档,即使我在评论中发布了相同的内容,但没有运气。

1 个答案:

答案 0 :(得分:10)

听起来像sourceRegion方法的工作,可以用来指定应该从中生成缩略图的区域:

Illustration of creating a thumbnail using the <code>sourceRegion</code> method in Thumbnailator http://wiki.thumbnailator.googlecode.com/hg/img/features/sourceregion.png

在您的特定情况下,您需要尝试以下操作:

Thumbnails.of(new File("original.jpg"))
  .sourceRegion(Positions.CENTER, 300, 300)
  .size(160, 160)
  .toFile(new File("thumbnail.jpg"));

以上代码将:

  1. 打开original.jpg
  2. 使用原始图像的中央300 x 300区域和
  3. 将该区域的大小调整为160 x 160缩略图,然后
  4. 写入thumbnail.jpg
  5. 通过将Positions.CENTER更改为Positions.TOP_LEFT,可以选择原始图像的不同区域。有关预定义选项的完整列表,请查看Positions枚举的文档。


    以下是可能感兴趣的Thumbnailator API文档的一些链接:


    免责声明:我是Thumbnailator库的维护者。