说到图像视频处理领域 , JAVA肯定不是最擅长的 , 像图像处理利器OpenCV , 视频处理利器FFmpeg都是各领域的佼佼者 。但是OpenCV和FFmpeg使用起来比较麻烦 , 安装软件是必不可少的 。
【Google开源Java图片处理类库Thumbnail】今天给大家介绍的是一款纯Java开源类库Thumbnailator , 由google提供 , 试用之后感觉效果非常好 。目前支持的操作有:图片压缩、图片缩放 , 图片裁剪 , 水印 , 旋转等 。
文章插图
Maven坐标
<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</version></dependency>
图片压缩方法一 , 压缩后宽高不变 , outputQuality质量度 , 范围0~1 , 数字越大 , 图片质量越好 。Thumbnails.of("D:/source.jpg").scale(1f).outputQuality(0.3f).outputFormat("jpg").toFile("D:/target.jpg");方法二 , 按指定宽高压缩Thumbnails.of("D:/source.jpg").size(50, 50).outputQuality(0.9f).outputFormat("jpg").toFile("D:/target.jpg");
图片缩放方法一 , 按照宽高比例缩放Thumbnails.of("D:/source.jpg").scale(0.8f).outputQuality(1f).outputFormat("jpg").toFile("D:/target.jpg");方法二 , 按照指定宽高缩放Thumbnails.of("D:/source.jpg").size(50, 50).keepAspectRatio(false).outputFormat("jpg").toFile("D:/target.jpg");
图片裁剪在指定坐标区域裁剪400*400的图片Thumbnails.of("D:/source.jpg").sourceRegion(700, 500, 100, 100).size(50, 50).outputFormat("jpg").toFile("D:/target.jpg");
增加水印Thumbnails.of("D:/source.jpg").size(1000, 800).watermark(Positions.CENTER, ImageIO.read(new File("D:/watermark.png")), 0.7f).outputQuality(0.7f).toFile("D:/target.jpg");
推荐阅读
- JavaScript 各种遍历方式详解
- JavaScript的宏任务和微任务
- 「OOM」Java heap space原因与解决
- 一个用Java实现的超轻量级RESTful Web服务示例
- 前端性能监控及推荐几个开源的监控系统
- 微信开发最新Java SDK来了:WxJava3.9.0
- JavaWeb - 开发环境搭建和 Shell 编程
- 分析网页 JavaScript Bundles 的几种方法
- 美团 iOS 端开源框架 Graver 在动态化上的探索与实践
- 凯蒂阿姨的自定义 Mac 终端