文档章节

java裁剪图片

有理想的鸭子
 有理想的鸭子
发布于 2015/07/31 17:53
字数 201
阅读 88
收藏 2
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;

/**
* 对图片做裁剪
*/
public class ImageUtils {
    /**
	 * 对图片做裁剪
	 * @param input 源图片
	 * @param input 保存的图片
	 * @param sourceType 源图片的类型
	 * @param savedType 保存图片的类型
	 * @param x x坐标
	 * @param y y坐标
	 * @param width 宽度
	 * @param height 高度
	*/
    public static void cutImage(InputStream input, OutputStream out, 
			String sourceType, String savedType, 
			int x, int y, int width, int height) 
			throws IOException {
        ImageInputStream imageStream = null;
        try {
			//根据指定的类型创建ImageReader
            Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName(sourceType);
            ImageReader reader = readers.next();
			//把需要裁剪的图片读到内存中
            imageStream = ImageIO.createImageInputStream(input);
            reader.setInput(imageStream, true);
            ImageReadParam param = reader.getDefaultReadParam();
            Rectangle rect = new Rectangle(x, y, width, height);
            param.setSourceRegion(rect);
            BufferedImage bi = reader.read(0, param);
			//保存裁剪完的图片
            ImageIO.write(bi, savedType, out);
        } finally {
            imageStream.close();
        }
    }

    
    public static void main(String[] args) throws Exception {
        ImageUtils.cutImage(new FileInputStream("c:\\test.bmp"),
                  new FileOutputStream("c:\\1111cut.jpg"), 
				  "bmp", 
				  "jpg", 
				  0, 
				  0, 
				  100, 
				  36);
    }
}

 

© 著作权归作者所有

共有 人打赏支持
有理想的鸭子
粉丝 3
博文 47
码字总数 20092
作品 0
武汉
高级程序员
私信 提问
Thumbnailator能不能对图片进行裁剪

Thumbnailator能不能对图片进行裁剪?有没有该方法。 有没有好的图片裁剪的java工具类?

leon_rock
2013/08/14
2.5K
2
Android开源中国客户端学习 截屏模块

这次分享的功能比较简单,是osc的截屏模块,效果如下 ![图片说明文字][1] 这个功能用户体验还是不错的,在很多软件都也都内置了这个功能 这个功能的原理是: 1.在需要截屏的activity的window上覆...

sisuad
2013/07/17
0
1
高清缩略图之GraphicsMagick

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

一剑风徽
2012/11/18
0
2
上传图片,对图片进行等比例缩放,及局部裁剪的工具类代码

谁有java实现传图片,对图片进行等比例缩放,及局部裁剪的工具类代码给我参考吗?邮箱1768369578@qq.com,谢谢。

lianniu
2014/08/08
205
1
kan-java, 一个能裁剪语法特性的java动态编译工具

'kan-java' 就是 '砍-java', 就是字面意思 这是一个java代码动态编译工具,也就是能够把String形式的java代码实时地编译为字节码的工具; “动态编译”工具,其实自jdk1.6发布以来,应该出现...

pf_miles
2015/03/28
172
0

没有更多内容

加载失败,请刷新页面

加载更多

day11

architect刘源源
58分钟前
3
0
论学好Linux系统的超级重要性

不知道各位在日常的工作生活中有没有接触过“rm -rf /*”这个命令,因为这个命令搞出来的事情可还不少呢!前段时间就在一个群里看到了有个小伙子,老板让他去维护一下服务器,这小伙也不太懂...

Linux就该这么学
昨天
2
0
git 使用

1,首先在github配置好信息和仓库,然后在本地进行操作 git init git config user.name 'zhangwuer' git config user.email '56789053@qq.com' 2,与远程分支建立连接 git checkout -b test......

天王盖地虎626
昨天
3
0
git checkout 命令详解

在日常的git操作中,git checkout——检出,是我们的常用命令。最为常用的两种情形是创建分支和切换分支。 在下面的命令中,使用了一些简写,在这里说明一下: git st # git statusgit ci ...

shzwork
昨天
8
0
【Nginx】Nginx多级代理,获取客户端真实请求IP以及每级代理IP

Nginx多级代理,获取客户端真实请求IP以及每级代理IP 如图所示,每一级nginx里的location配置里需要加上对应的配置,最后一级nginx是直接到应用,测试时为了方便,直接用echo模块去测试,打印...

薛定谔的旺
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部