文档章节

Java通过thumbnailator对图片进行缩放,裁剪,添加水印等..

烤猪佩奇
 烤猪佩奇
发布于 2016/02/29 17:21
字数 306
阅读 15
收藏 0
package com.test.image;

import static org.junit.Assert.*;

import java.io.File;

import javax.imageio.ImageIO;

import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;

import org.junit.Test;

public class ImageTest {
	/**
	 * 按照指定大小缩放  按照比例
	 * @throws Exception
	 */
	@Test
	public void testOne() throws Exception {
		//File file = new File("image/1.jpg");
		//System.out.println(file.exists());
		 Thumbnails.of("image/1.jpg").size(200, 300).toFile("image/1_200x300.jpg");
	}
	
	/***
	 * 按照指定比例进行缩放
	 * @throws Exception
	 */
	@Test
	public void testTwo() throws Exception {
		Thumbnails.of("image/1.jpg").scale(0.25f).toFile("image/a_0.25%.jpg");
	}
	
	/***
	 * 根据指定大小进行缩放 不按照比例
	 * @throws Exception
	 */
	@Test
	public void testThree() throws Exception {
		 Thumbnails.of("image/1.jpg").size(200, 300)
		 //设置是否按比例  false  图片可能会走形 默认true
		 .keepAspectRatio(false) 
		 .toFile("image/1_200x300_no.jpg");
	}
	
	/**
	 * 添加水印 (好像只能添加图片水印?)
	 * @throws Exception
	 */
	@Test
	public void testFour() throws Exception {
		Thumbnails.of("image/1.jpg")
		.size(1920, 1080)  //必须要设置大小 不然会抛异常
		.watermark(Positions.BOTTOM_RIGHT,ImageIO.read(new File("image/a_0.25%.jpg")), 0.5f)
		//输出品质   越高 图片越大
		.outputQuality(1.0f)
		.toFile("image/wt.jpg");
	}
	
	/***
	 * 裁剪
	 * @throws Exception
	 */
	@Test
	public void testFive() throws Exception {
		Thumbnails.of("image/1.jpg")
		//从原图哪里开始裁剪   裁减多少
		.sourceRegion(Positions.CENTER, 400, 400)
		//新图的大小
		.size(200, 200).toFile("image/crop.jpg");
		
	}
	
	/**
	 * 改变图片格式
	 * @throws Exception
	 */
	@Test
	public void testSix() throws Exception {
		Thumbnails.of("image/1.jpg")
		.size(1920, 1080)
		.outputFormat("png")
		.toFile("image/1_png.png");
	}
	
	@Test
	public void testName() throws Exception {
		System.out.println(System.getProperty("user.dir"));
	}
}

本文转载自:http://blog.csdn.net/cjaver/article/details/41516997

共有 人打赏支持
烤猪佩奇
粉丝 18
博文 46
码字总数 6583
作品 0
广州
高级程序员
Java 借助ImageMagic实现图片编辑服务

Java 借助ImageMagic实现图片编辑服务 java原生对于图片的编辑处理并没有特别友好,而且问题也有不少,那么作为一个java后端,如果要提供图片的编辑服务可以怎么办?也得想办法去支持业务需求...

小灰灰Blog
04/18
0
0
高清缩略图之Thumbnailator

搞网站开发,经常要用到的一个功能是生成缩略图。如果对缩略图的质量要求不高,直接用JDK提供的Image API就可以搞定,简单示例: File _file = new File("/Order005-0001.jpg"); //读入文件I...

一剑风徽
2012/11/18
0
0
在JAVA中使用Thumbnails为图片加水印

在JAVA中使用Thumbnails为图片加水印 将D盘下面的cat.jpg作为水印加在2.jpg上面,输出新的图片2_cat.jpg到D盘下面 1、java类 1)、of(new File("D:2.jpg")) 打开一张图片作为底图 2)、size(20...

Qiu_CJ
06/26
0
0
使用 Grapicmagick 和 Im4java 处理图片

ImageMagick是个图片处理工具可以安装在绝大多数的平台上使用,Linux、Mac、Windows都没有问题。GraphicsMagick是在ImageMagick基础上的另一个项目,大大提高了图片处理的性能,在linux平台上...

voole
05/07
0
0
高清缩略图之GraphicsMagick

GraphicsMagick号称图像处理领域的瑞士军刀,也称命令行版的Photoshop, 短小精悍的代码却提供了一个超棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88中图像格式,包括重...

一剑风徽
2012/11/18
0
2

没有更多内容

加载失败,请刷新页面

加载更多

day99-20180926-英语流利阅读-待学习

换汤不换药的美容大忽悠:从抗衰老到肌肤焕发新生 Lala 2018-09-26 1.今日导读 说到护肤品,一个个大牌广告就浮现在我们眼前:皮肤吹弹可破的女明星手捧功能各异的瓶瓶罐罐,暗示着消费者买买...

飞鱼说编程
34分钟前
3
0
FFmpeg Maintainer赵军:FFmpeg关键组件与硬件加速

大家好!我是赵军,现就职于英特尔的DCG从事基于FFmpeg的硬件优化工作,两年多前加入FFmpeg社区,2018年4月成为FFmpeg的其中的一个FFmpeg Maintainer,主要负责FFmpeg的硬件优化工作。 概览:...

yizhichao
今天
1
0
ehlib 修改 使行号字体颜色 与标题字体颜色 一致

对ehlib 显示效果不够满意,而做的调整 修改这个过程:procedure TCustomDBGridEh.DrawIndicatorCell(ACol, ARow: Longint; AreaCol, AreaRow: Longint; ARect: TRect; AState: TGri......

vga
今天
1
0
Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
54
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部