在Thumbnailator中,我正在制作缩略图。
如果图像尺寸为400 * 300,如果我做了以下事情,
Thumbnails.of(new File("original.jpg"))
.size(160, 160)
.toFile(new File("thumbnail.jpg"));
它创建了160 * 120的缩略图。
我想要的是如果我上传400 * 300图像,它将居中缩放,这样我将变为300 * 300然后它将缩略图。
我浏览了文档,即使我在评论中发布了相同的内容,但没有运气。
答案 0 :(得分:10)
听起来像sourceRegion
方法的工作,可以用来指定应该从中生成缩略图的区域:
在您的特定情况下,您需要尝试以下操作:
Thumbnails.of(new File("original.jpg"))
.sourceRegion(Positions.CENTER, 300, 300)
.size(160, 160)
.toFile(new File("thumbnail.jpg"));
以上代码将:
original.jpg
,thumbnail.jpg
。通过将Positions.CENTER
更改为Positions.TOP_LEFT
,可以选择原始图像的不同区域。有关预定义选项的完整列表,请查看Positions
枚举的文档。
以下是可能感兴趣的Thumbnailator API文档的一些链接:
sourceRegion(int, int, int, int)
方法
sourceRegion(Position, int, int)
方法
Position
对象进行相对定位,如上面的示例代码所示。sourceRegion(Rectangle)
方法
java.awt.Rectangle
对象创建缩略图的确切区域。Position
枚举
免责声明:我是Thumbnailator库的维护者。