In 缩略图器 http://code.google.com/p/thumbnailator/,我正在制作缩略图。
如果图像大小是 400*300 并且如果我执行以下操作,
Thumbnails.of(new File("original.jpg"))
.size(160, 160)
.toFile(new File("thumbnail.jpg"));
它创建 160*120 的缩略图。
我想要的是,如果我上传 400*300 的图像,它将居中缩放,这样我就会变成 300*300,然后它会缩略图。
我浏览了文档,即使我在评论中发布了同样的内容,但没有运气。
听起来像是一份工作sourceRegion https://coobird.github.io/thumbnailator/javadoc/0.4.13/net/coobird/thumbnailator/Thumbnails.Builder.html#sourceRegion(net.coobird.thumbnailator.geometry.Position,%20int,%20int)方法可用于指定应生成缩略图的区域:
根据您的具体情况,您需要尝试以下操作:
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 缩略图,然后
- 写入到
thumbnail.jpg
.
可以通过更改来选择原始图像的不同区域Positions.CENTER
例如,Positions.TOP_LEFT
。有关预定义选项的完整列表,请查看相关文档Positions https://coobird.github.io/thumbnailator/javadoc/0.4.13/net/coobird/thumbnailator/geometry/Positions.html enum.
以下是一些您可能感兴趣的 Thumbnailator API 文档的链接:
-
sourceRegion(int, int, int, int) https://coobird.github.io/thumbnailator/javadoc/0.4.13/net/coobird/thumbnailator/Thumbnails.Builder.html#sourceRegion(int,%20int,%20int,%20int) method
-
sourceRegion(Position, int, int) https://coobird.github.io/thumbnailator/javadoc/0.4.13/net/coobird/thumbnailator/Thumbnails.Builder.html#sourceRegion(net.coobird.thumbnailator.geometry.Position,%20int,%20int) method
- 使用相对定位
Position
对象如上面的示例代码所示。
-
sourceRegion(Rectangle) https://coobird.github.io/thumbnailator/javadoc/0.4.13/net/coobird/thumbnailator/Thumbnails.Builder.html#sourceRegion(java.awt.Rectangle) method
- 用于指定从中创建缩略图的确切区域,使用java.awt.Rectangle https://docs.oracle.com/javase/1.5.0/docs/api/java/awt/Rectangle.html object.
-
Position https://coobird.github.io/thumbnailator/javadoc/0.4.13/net/coobird/thumbnailator/geometry/Position.html enum
- 提供预定义位置,可用于指定从中创建缩略图的区域的相对位置。
免责声明:我是该项目的维护者缩略图器 https://github.com/coobird/thumbnailator图书馆。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)