java裁剪图片
2015-07-31 00:00
585 查看
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); } }
相关文章推荐
- SpringMVC访问静态资源
- im4java的使用
- Eclipse中的.classpath文件
- Spring中资源扫描类
- java中的Observer模式
- eclipse
- spring test
- spring batch入门资料
- Java程序设计之消费者和生产者
- JAVA学习的第三天
- java基础从零开始
- spring mvc配置文件
- spring 注解&XML实现AOP编程
- 再谈如何将android studio项目转换成eclipse
- 【Java】Java内存管理
- spring hibernate 配置文件模板
- 如何将Eclipse中的项目迁移到Android Studio 中
- Struts2中使用OGNL调用静态方法及静态属性
- Eclipse 官方简体中文语言包下载地址及安装方法
- Java测试序列化数据时的计数策略