图片压缩工具Thumbnailator的使用

Thumbnailator 是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量生成缩略图。

package com.zspr.utils.img;

import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;

/**
* 图片工具
* @author jichao
*
*/
public class Pic {

/**
* 指定大小进行缩放
* @param srcUrl 源图片地址
* @param targetUrl 目标图片地址
* @param width 宽
* @param height 高
* @throws IOException
*/
public static void resize(String srcUrl,String targetUrl,int width,int height) throws IOException {
/*
* size(width,height) 若图片横比200小,高比300小,不变
* 若图片横比200小,高比300大,高缩小到300,图片比例不变 若图片横比200大,高比300小,横缩小到200,图片比例不变
* 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300
*/
Thumbnails.of(srcUrl).size(width, height).toFile(targetUrl);
}

/**
* 按照比例进行缩放
* @param srcUrl 源图片地址
* @param targetUrl 目标图片地址
* @param num 质量比例如 0.8
* @throws IOException
*/
public static void scale(String srcUrl,String targetUrl,double num) throws IOException {
Thumbnails.of(srcUrl).scale(num).toFile(targetUrl );
}

/**
* 水印
* @param srcUrl 源图片地址
* @param targetUrl 目标图片地址
* @param width 宽
* @param height 高
* @param num 质量比例如 0.8
* @param pos 显示位置: Positions.BOTTOM_RIGHT
* @throws IOException
*/
public static void watermark(String srcUrl,String targetUrl,int width,int height,float num,Positions pos) throws IOException {
Thumbnails.of(srcUrl).size(width,height).watermark(pos,ImageIO.read(new File(targetUrl)), num).outputQuality(num).toFile(targetUrl);
}

/**
* 裁剪
* @param srcUrl 源图片地址
* @param targetUrl 目标图片地址
* @param width 宽
* @param height 高
* @param pos 显示位置: Positions.BOTTOM_RIGHT
* @param x 区域宽度
* @param y 区域高度
* @throws IOException
*/
public static void cut(String srcUrl,String targetUrl,int width,int height,Positions pos,int x,int y)throws IOException {
Thumbnails.of(srcUrl).sourceRegion(pos,x,y).size(width, height).keepAspectRatio(false).toFile(targetUrl);
}

/**
* 裁剪--指定坐标/大小
* @param srcUrl 源图片地址
* @param targetUrl 目标图片地址
* @param width 宽
* @param height 高
* @param pointA_1 坐标A1
* @param pointA_2坐标A2
* @param pointB_1坐标B1
* @param pointB_2坐标B2
* @throws IOException
*/
public static void cut(String srcUrl,String targetUrl,int width,int height,int pointA_1,int pointA_2,int pointB_1,int pointB_2) throws IOException {
Thumbnails.of(srcUrl).sourceRegion(pointA_1, pointA_2, pointB_1, pointB_2).size(width, height).keepAspectRatio(false).toFile(targetUrl);
}

/**
* 转化图像格式
* @param srcUrl 源图片地址
* @param targetUrl 目标图片地址
* @param width 宽
* @param height 高
* @param format 格式 如png/gif/jpg
* @throws IOException
*/
public static void format(String srcUrl,String targetUrl,int width,int height,String format) throws IOException {
Thumbnails.of(srcUrl).size(width, height).outputFormat(format).toFile(targetUrl);
}
}

原文地址:https://www.cnblogs.com/feiwenstyle/p/9571150.html

时间: 2024-10-13 05:29:49

图片压缩工具Thumbnailator的使用的相关文章

ImageOptim 图片压缩工具

下载地址:http://www.onlinedown.net/soft/175501.htm 下载地址(官网):http://imageoptim.com ? ImageOptim 图片压缩工具,能够对 png 和 jpeg 图片文件进行优化,他能找到最佳的压缩参数,并通过消除不必要的信息(如文件的 EXIF 标签和颜色配置文件等),优化后达到减小文件大小的效果. 使用方式:

PNG图片压缩工具推荐-----Pngyu

Cocos项目中会使用到大量PNG图片,PNG文件的大小通常占到发布包大小的90%左右,压缩PNG文件大小对减小发布包大小起到很关键的作用. 我们知道PNG文件大致可分为三种格式,分别是:PNG32.PNG24.PNG8.色彩丰富程度(画质)从高到低,文件大小也是从大到小.美术从PS.Maya等工具导出的图片通常都是PNG32格式,通常的做法是用Fireworks等工具间PNG32转成PNG8格式. 这里给大家推荐一个PNG图片压缩工具,名字叫:Pngyu.下载地址:http://nukesaq

一个好用的android图片压缩工具类

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">用了很久图片压缩,之前人们一直使用google的官方图片压缩方法</span> final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = tr

推荐一款图片压缩工具

如果你在工作中遇到过需要压缩图片的场景,比如: 网站上传图片大小有限制 图片太大,超过了邮件附件的限制 如果你是开发:减少图片体积,提升加载速度 如果你是新媒体作者:减少插图体积,提升文章打开速度 …… 现在这款 在线图片压缩工具 可能是你最需要的 docsmall有如下优势 页面简洁美观,无广告 上传下载速度都很快快 jpg.png压缩率很高 支持批量压缩.打包下载 放个截图感受一下 原文地址:https://www.cnblogs.com/houxiyang/p/docsmall-image

干货!6款使用量最高的在线图片压缩工具对比评测

目前市面上有很多在线图片压缩工具,给我们日常办公提供了十分的便利性,每款工具各有侧重 我们从界面美观性.操作便利度.知名度角度选取了选取了六款进行对比评测,这六款图片压缩工具分别为: 智图 TinyPNG iLoveIMG img.top Optimizilla docsmall 我们对上述六款产品在如下 9 个纬度进行了打分对比,这 9 个纬度分别为: 使用体验:从页面设计.动画效果.传输速度.压缩效果等层面比较综合的一个评价 最大文件数:单次可上传的最大文件数 单个图片体积:单个图片体积最大

图片压缩工具,记录一下。

代码: import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import j

cocos2dx-之图片压缩工具推荐

随着版本的第二次迭代,包体越来越大;随之而来的也就是下载量会有所影响;毕竟每增大一点包体大小,下载的玩家就会损失一小批; 但是我们的图片都经过美术压缩打包,依然包体不小; 最后发现是因为把图片都打包成plist格式,所以png的图片大小又一次增大了; PNGoo 这个软件可以再一次压缩,并且不破坏里面的位置,尽量保留原有图而不失真很多; 我们的软件包体硬生生缩小了1/4!! 软件我上传到博客园网盘了,地址如下: files.cnblogs.com/files/left69/PNG%E5%8E%8

图片压缩工具之grunt-contrib-imagemin

对页面进行优化时~免不了对使用的图片进行压缩~以便减小我们使用的图片的大小~这样就可以减少用户下载的文件大小,加快页面访问速度.Google Pagespeed最佳实践建议我们用 jpegtran 或 jpegoptim (仅限 Linux 平台) 对 jpeg/jpg 图片进行无损压缩,如果是 PNG 格式,则使用 OptiPNG 或 PNGOUT 压缩. 但是对于不同格式的图片,我们需要用pegtran/jpegoptim/OptiPNG/PNGOUT 等多种工具来分别压缩,这样对于前端开发

「Optimage」多格式 Mac 图片压缩工具,还支持 PDF 压缩

相信你也有很多图片压缩的需要,假如你对 Photoshop 软件使用并不熟络,或者身边设备并未安装这类大型设计软件,你还有其他选择,那就是使用专用于图像压缩的软件.「Optimage」是一款老牌 Mac 图片压缩软件,只需将要处理的图像文件拖拽至软件界面,「Optimage」即开始处理,和之前介绍的「TinyPNG For Mac」不同,「Optimage」全程本地处理,效率能高一些. ## 「Optimage」刚刚更新了 3.0 版本,几个亮点: 1.简洁的 UI 设计,支持黑暗模式:2.支持