博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java图片处理
阅读量:6092 次
发布时间:2019-06-20

本文共 4178 字,大约阅读时间需要 13 分钟。

import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import javax.imageio.ImageIO;import net.coobird.thumbnailator.Thumbnails;import net.coobird.thumbnailator.geometry.Positions;public class Test {	public static void main(String[] args) throws IOException {		Test thumbnailatorTest = new Test();//		thumbnailatorTest.test1();//		thumbnailatorTest.test2();//		thumbnailatorTest.test3();//		thumbnailatorTest.test4();//		thumbnailatorTest.test5();//		thumbnailatorTest.test6();		thumbnailatorTest.test7();//		thumbnailatorTest.test8();//		thumbnailatorTest.test9();	}	/**	 * 指定大小进行缩放	 * 	 * @throws IOException	 */	private void test1() throws IOException {		/*		 * size(width,height) 若图片横比200小,高比300小,不变		 * 若图片横比200小,高比300大,高缩小到300,图片比例不变 若图片横比200大,高比300小,横缩小到200,图片比例不变		 * 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300		 */		Thumbnails.of("E:\\图片\\15.jpg").size(200, 300).toFile(				"E:\\图片\\image_200x300.jpg");		Thumbnails.of("E:\\图片\\15.jpg").size(2560, 2048).toFile(				"E:\\图片\\image_2560x2048.jpg");	}	/**	 * 按照比例进行缩放	 * 	 * @throws IOException	 */	private void test2() throws IOException {		/**		 * scale(比例)		 */		Thumbnails.of("E:\\图片\\15.jpg").scale(0.25f)				.toFile("E:\\图片\\image_25%.jpg");		Thumbnails.of("E:\\图片\\15.jpg").scale(1.10f).toFile(				"E:\\图片\\image_110%.jpg");	}	/**	 * 不按照比例,指定大小进行缩放	 * 	 * @throws IOException	 */	private void test3() throws IOException {		/**		 * keepAspectRatio(false) 默认是按照比例缩放的		 */		Thumbnails.of("E:\\图片\\15.jpg").size(120, 120).keepAspectRatio(false)				.toFile("E:\\图片\\image_120x120.jpg");	}	/**	 * 旋转	 * 	 * @throws IOException	 */	private void test4() throws IOException {		/**		 * rotate(角度),正数:顺时针 负数:逆时针		 */		Thumbnails.of("E:\\图片\\15.jpg").size(1280, 1024).rotate(90).toFile(				"E:\\图片\\image+90.jpg");		Thumbnails.of("E:\\图片\\15.jpg").size(1280, 1024).rotate(-90).toFile(				"E:\\图片\\iamge-90.jpg");	}	/**	 * 水印	 * 	 * @throws IOException	 */	private void test5() throws IOException {		/**		 * watermark(位置,水印图,透明度)		 */		Thumbnails.of("E:\\图片\\images/15.jpg").size(1280, 1024).watermark(				Positions.BOTTOM_RIGHT,				ImageIO.read(new File("E:\\图片\\watermark.png")), 0.5f)				.outputQuality(0.8f).toFile(						"E:\\图片\\image_watermark_bottom_right.jpg");		Thumbnails.of("E:\\图片\\15.jpg").size(1280, 1024).watermark(				Positions.CENTER,				ImageIO.read(new File("E:\\图片\\watermark.png")), 0.5f)				.outputQuality(0.8f).toFile("E:\\图片\\image_watermark_center.jpg");	}	/**	 * 裁剪	 * 	 * @throws IOException	 */	private void test6() throws IOException {		/**		 * 图片中心400*400的区域		 */		Thumbnails.of("E:\\图片\\15.jpg").sourceRegion(Positions.CENTER, 400,				400).size(200, 200).keepAspectRatio(false).toFile(				"E:\\图片\\image_region_center.jpg");		/**		 * 图片右下400*400的区域		 */		Thumbnails.of("E:\\图片\\15.jpg").sourceRegion(Positions.BOTTOM_RIGHT,				400, 400).size(200, 200).keepAspectRatio(false).toFile(				"E:\\图片\\image_region_bootom_right.jpg");		/**		 * 指定坐标		 */		Thumbnails.of("E:\\图片\\15.jpg").sourceRegion(600, 500, 400, 400).size(				200, 200).keepAspectRatio(false).toFile(				"E:\\图片\\image_region_coord.jpg");	}	/**	 * 转化图像格式	 * 	 * @throws IOException	 */	private void test7() throws IOException {		/**		 * outputFormat(图像格式)		 */		Thumbnails.of("E:\\图片\\15.jpg").size(1280, 1024).outputFormat("png")				.toFile("E:\\图片\\image_1280x1024.png");		Thumbnails.of("E:\\图片\\15.jpg").size(1280, 1024).outputFormat("gif")				.toFile("E:\\图片\\image_1280x1024.gif");	}	/**	 * 输出到OutputStream	 * 	 * @throws IOException	 */	private void test8() throws IOException {		/**		 * toOutputStream(流对象)		 */		OutputStream os = new FileOutputStream(				"E:\\图片\\image_1280x1024_OutputStream.png");		Thumbnails.of("E:\\图片\\15.jpg").size(1280, 1024).toOutputStream(os);	}	/**	 * 输出到BufferedImage	 * 	 * @throws IOException	 */	private void test9() throws IOException {		/**		 * asBufferedImage() 返回BufferedImage		 */		BufferedImage thumbnail = Thumbnails.of("E:\\图片\\15.jpg").size(1280,				1024).asBufferedImage();		ImageIO.write(thumbnail, "jpg", new File(				"E:\\图片\\image_1280x1024_BufferedImage.jpg"));	}}

 需要jar包:thumbnailator-0.4.2-all.jar

转载地址:http://vilwa.baihongyu.com/

你可能感兴趣的文章
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>