【问题标题】:Using Thumbnailator, can i make thumbnail with same height and width regardless the image size使用 Thumbnailator,无论图像大小如何,我都可以制作具有相同高度和宽度的缩略图吗
【发布时间】:2012-03-23 15:42:08
【问题描述】:

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

如果图像大小为 400*300 并且我执行以下操作,

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

它创建 160*120 的缩略图。

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

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

【问题讨论】:

  • 我删除了对“google thumbnailator”的引用,因为 Thumbnailator 库与 Google 没有任何关联。它只是一个托管在 Google Project Hosting 上的项目。另外,只是为了让您知道,我没有注意到您在 Thumbnailator 项目的一个 Wiki 文档页面上发布了问题,因为 Google 最近关闭了更新通知功能,这可能会引起我的注意.
  • 我很高兴看到这个回复..!现在我正在用 getSubimage() 做 BufferImage ......!它工作但很高兴有一些内置的东西......! ;) 真的很棒的图书馆...!很容易使用...! :)
  • 很高兴您发现这个库很有用 :)

标签: java image-processing thumbnails


【解决方案1】:

听起来像是 sourceRegion 方法的工作,可用于指定生成缩略图的区域:

在您的特定情况下,您需要尝试以下方法:

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。

可以通过将Positions.CENTER 更改为Positions.TOP_LEFT 来选择原始图像的不同区域。有关预定义选项的完整列表,请查看 Positions 枚举的文档。


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


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

【讨论】:

  • @db80 很高兴你发现这很有用:)
猜你喜欢
  • 2016-03-11
  • 2014-02-09
  • 1970-01-01
  • 2015-03-17
  • 1970-01-01
  • 2015-05-17
  • 2017-12-19
  • 2011-04-09
  • 1970-01-01
相关资源
最近更新 更多