文档章节

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

共有 人打赏支持
上一篇: GIT常用命令
下一篇: dwr 精准推送
不合法昵称
粉丝 18
博文 46
码字总数 6583
作品 0
广州
高级程序员
私信 提问
图片系统

基于spring mvc, thumbnailator 实现的 图片系统 功能包括:图片上传、图片按照文件名hash 存储,根据尺寸显示图片,图片缓存 Thumbnailator 是一个用来生成图像缩略图的 Java 类库,通过很简...

LucEsape
2016/03/03
2
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
Thumbnailator的简介和使用范例

1.简单介绍 借用红薯对Thumbnailator 的描述:Thumbnailator是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。 有了这玩意...

JoeyBlue
2011/08/14
23.5K
17
在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

没有更多内容

加载失败,请刷新页面

加载更多

Ugly Number(leetcode263)

Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. Example 1: Input: 6Output: true......

woshixin
14分钟前
0
0
深度模型从研者 眼里的 似然估计 & Hessain 海森矩阵 & Fisher Information (费雪信息)

深度模型的训练的基本依据是最小化模型拟合数据的误差。旨在不仅知其然(如何构建和训练一个深度模型),还应知其所以然(为什么这样训练,可以做哪些优化)。我们就会发现,有很多研究者,在...

刘小米_思聪
18分钟前
0
0
阿里巴巴智能监控新场景的探索

摘要: 智能监控是智能运维的子领域,详细分析。 作者简介 王肇刚 阿里巴巴全球运行指挥中心高级技术专家 智能监控是智能运维的子领域,我们说的监控,探讨的更多是在监控策略,因为可能从数...

阿里云官方博客
21分钟前
1
0
【双十二】12 月 12 日 12 点 12 分限量抢福利,云计算不剁手!

活动详情 1.首充豪礼 双十二当日,新用户首充 200 元送 200 元代金券!仅限前 88 名!先到先得!拼手速!(新用户指 12 月 12 日前已完成注册但从未充值过的用户)
 2.超值返券 双十二当日,...

七牛云
46分钟前
3
0
Calculate Linux 发布 18 LXQt是基于Gentoo的发行版

导读 Calculate Linux 是一个基于 Gentoo 并与 Gentoo 完全兼容的滚动更新发行版家族,专为企业环境下的快速部署而优化。其提供多个不同的分支版本,分别适用于桌面、服务器等应用场景。该项...

问题终结者
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部