解决Thunbnailator在缩放时出现对图片旋转的问题

Thumbnailator是一个很小巧的图片处理工具,具体使用的时候会发现,处理一些图片的时候会出现图片旋转了。

以下是解决方法,不使用他自带的size参数。

String imgPath = "C:\\Users\\Public\\Pictures\\1.jpg";
BufferedImage bi = ImageIO.read(new File(imgPath));
if (Float.valueOf(bi.getWidth()) / Float.valueOf(bi.getHeight()) > 1) {
    bi = Thumbnails.of(bi).height(300).asBufferedImage();
} else {
    bi = Thumbnails.of(bi).width(300).asBufferedImage();
}
if (bi.getWidth() - 300 > 0) {
    int x = (bi.getWidth() - 300) / 2;
    bi = Thumbnails.of(bi).scale(1f).sourceRegion(x, 0, 300, 300).asBufferedImage();
} else {
bi = Thumbnails.of(bi).scale(1f).sourceRegion(0, 0, 300, 300).asBufferedImage();
}
Thumbnails.of(bi).scale(1f).toFile("C:\\Users\\Public\\Pictures\\2.jpg");

原图:

205951_8y8z_268744.jpg

等比例并裁剪后等到300x300的缩略图

210232_MjNq_268744.jpg

转载于:https://my.oschina.net/songm/blog/283668

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值