文档章节

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

匿名访客
 匿名访客
发布于 2014/06/24 21:03
字数 167
阅读 70
收藏 5

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");

原图:

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

© 著作权归作者所有

匿名访客
粉丝 1
博文 13
码字总数 1620
作品 0
温岭
程序员
私信 提问
Thunbnailator在缩放时出现对图片旋转的问题

我在使用他进行一定比例缩放时发现有些图片 他生成的缩略图会是原图旋转90度之后的图片 这个问题不知道怎么解决

于子皓
2013/09/20
473
2
canvas中的拖拽、缩放、旋转 (上) —— 数学知识准备

写在前面 本文首发于公众号:符合预期的CoyPan 最近做了一个移动端活动页的需求,大概就是diy一个页面。用户可以对物料进行拖动、缩放、旋转,来达到diy的目的。用DOM来实现是不现实的,我采...

CoyPan
02/01
0
0
JavaScript中的图片处理与合成

JavaScript中的图片处理与合成(一) 65 人赞了该文章 摘要:图片处理现在已经成为了我们生活中的刚需,想必大家也经常有这方面的需求。实际前端业务中,也经常会有很多的项目需要用到图片加工...

十万猛虎下画山
2018/05/04
0
0
H5 和小程序拍照图片旋转、压缩和上传

原文地址:github.com/whinc/blog/… 最近接到一个“发表评论”的需求:用户输入评论并且可以拍照或从相册选择图片上传,即支持图文评论。需要同时在 H5 和小程序两端实现,该需求处理图片的...

whinc
2018/09/29
0
0
利用UIView上手势控制OpenGL的绘制

场景 获取IOS设备上相册里的图片,在平移/缩放/旋转等编辑操作后,调用内核绘制图片,保证视觉上其显示效果(图片位置和图片内容)不改变: 在时,UIView接受手势,用UIKit实时展现图片的变...

Charly张
2015/09/24
53
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊Elasticsearch的MonitorService

序 本文主要研究一下Elasticsearch的MonitorService MonitorService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/MonitorService.java public class MonitorServic......

go4it
39分钟前
3
0
二、Docker

1、Docker - The TLDR(Too Long,Don't Read,Linxu 终端工具 ) Docker是在Linux和Windows上运行的软件。它创建、管理和编排容器。该软件以开源方式开发,在Github上作为Moby开源项目的一部分。...

倪伟伟
52分钟前
3
0
Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近,猫哥的 Python 技术学习群里进来了几位比较特殊的同学:一...

豌豆花下猫
今天
5
0
Guava RateLimiter限流源码解析和实例应用

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高...

算法之名
今天
13
0
国产达梦数据库与MySQL的区别

背景 由于项目上的需要,把项目实现国产化,把底层的MySQL数据库替换为国产的达梦数据库,花了一周的时间研究了国产的数据库-达梦数据库,它和MySQL有一定的区别,SQL的写法也有一些区别。 ...

TSMYK
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部