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

Java 使用Thumbnailator,无论图像大小如何,我都可以制作高度和宽度相同的缩略图吗,java,image-processing,thumbnails,Java,Image Processing,Thumbnails,在中国,我正在制作缩略图 如果图像大小是400*300,如果我做了下面的事情 Thumbnails.of(new File("original.jpg")) .size(160, 160) .toFile(new File("thumbnail.jpg")); 它可以创建160*120的缩略图 我想要的是,如果我上传400*300的图像,它会居中缩放,这样我会变成300*300,然后它会变成缩略图 我浏览了文档,甚至在评论中也发布了相同的内容,但没有运气。听起来

在中国,我正在制作缩略图

如果图像大小是400*300,如果我做了下面的事情

Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .toFile(new File("thumbnail.jpg"));
它可以创建160*120的缩略图

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

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

听起来像是一个用于指定生成缩略图的区域的方法的作业:

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

Thumbnails.of(new File("original.jpg"))
  .sourceRegion(Positions.CENTER, 300, 300)
  .size(160, 160)
  .toFile(new File("thumbnail.jpg"));
上述守则将:

  • 打开
    original.jpg
  • 使用原始图像的中心300 x 300区域,以及
  • 将该区域调整为160 x 160缩略图,然后
  • 写入
    缩略图.jpg
  • 可以通过更改
    位置来选择原始图像的不同区域。例如,将
    居中设置为
    位置。左上
    。有关预定义选项的完整列表,请参阅枚举的文档


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

    • 方法
      • 用于指定要从中创建缩略图的确切区域
    • 方法
      • 使用
        位置
        对象使用相对定位,如上面的示例代码所示
    • 方法
      • 用于指定使用对象创建缩略图的精确区域
    • 枚举
      • 提供预定义的位置,可用于指定要从中创建缩略图的区域的相对位置


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

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