java thumbnails 中心点_JavaDemo——java使用Thumbnails处理图片

thumbnailator是谷歌处理图片的开源工具类,能够对图片进行缩放,旋转,压缩,剪裁,添加水印,转换格式等;html

maven引入:git

net.coobird

thumbnailator

0.4.8

基本使用Demo:github

/**

* 2019年4月17日下午10:51:07

*/

package testThumbnailator;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

import net.coobird.thumbnailator.Thumbnails;

import net.coobird.thumbnailator.geometry.Positions;

/**

* @author xinwenfeng

*

*/

public class TestThumbnailator {

//API文档:http://coobird.github.io/thumbnailator/javadoc/0.4.8/net/coobird/thumbnailator/package-summary.html

/**

* @param args

*/

public static void main(String[] args) {

try {

Thumbnails.of("BL_pre.jpg")

.sourceRegion(Positions.CENTER, 500, 500)

//.size(200, 300)

//.width(100)

//.height(200)

//.forceSize(400, 400)

.scale(0.8d)

//.scale(0.5d, 0.8d)

//.keepAspectRatio(false)

//.rotate(90d)

.watermark(Positions.CENTER, ImageIO.read(new File("watermark.png")), 0.8f)

.outputQuality(0.75f)

.outputFormat("JPEG")

//.asBufferedImage()

.toFile("out.jpeg");

} catch (IOException e) {

e.printStackTrace();

}

}

}

原图:api

672215c84676543aa50bd9cb6ee24d77.png

水印:oracle

1170238ea2f5548d98de6d890184826a.png

处理后:maven

8df33e97fbdc17464e9ba580a2dd0e93.png

注:处理的图片必须指定大小,size,width,height,forcesize,scale;不可重复设置同一种类型的属性;有的属性设置会互斥;工具

1.读入源图片

能够批量处理,多个文件或者文件夹;ui

Thumbnails.url

Thumbnails.File... files) 从文件或者文件夹读入源;

Thumbnails.InputStream... inputStreams) 从流读入源;

Thumbnails.String... files)

Thumbnails.URL... urls)

2.设置大小,按比例或者拉伸

. 按比例,使原图撑满size大小;

. 设置宽,高按比例;

. 设置高,宽按比例;

. 设置宽高,不按比例,会按照设置的宽高拉伸;

. 按比例缩放,0~1缩小,1原比例,>1放大;

. 长宽各自设置比例,会拉伸;

.

.

注:size、width/height、scale、forceSize不能并用;size至关于width+height;forceSize至关于设置长款+keepAspectRatio=false,因此forceSize不能跟其余设置长款属性、keepAspectRatio并用;

3.剪裁

. 剪裁原图,坐标x,y起始,剪裁出宽度width高度height的图像,x向右为正,y向下为正,width(向右)和height(向下)必须大于0;

.Position position, int width, int height) 剪裁原图,区域位置position可用Positions枚举的9个位置或者实现Position接口的实现类;

.

4.旋转

. 旋转角度,顺时针为正;

5.水印

.

.BufferedImage image, float opacity) 中心位置,opacity的不透明度设置水印(0.0<=opacity<=1.0);

.Position position, BufferedImage image, float opacity) 在position位置,opacity不透明度设置水印;

6.质量

. 质量0.0<=quality<=1.0;

.

7.输出格式

.

8.输出图片

.

.

.

.File destinationDir, Rename rename) 返回文件列表,并按照指定的重命名规则生成到指定目录里(文件夹要存在);

.

.String outFilepath)

.File destinationDir, Rename rename) 无返回,按照重命名规则生成到文件夹里;

. 设置是否覆盖已存在的文件(只对toFile、toFiles、asFiles有效);

其余方法和功能见api

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值