java实现的图片裁剪功能示例
本文实例讲述了java实现的图片裁剪功能。分享给大家供大家参考,具体如下:
PicCut.java:
packageTsets;
importjava.awt.Rectangle;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.util.Iterator;
importjavax.imageio.ImageIO;
importjavax.imageio.ImageReadParam;
importjavax.imageio.ImageReader;
importjavax.imageio.stream.ImageInputStream;
publicclassPicCut{
publicvoidcut(intx,inty,intwidth,intheight,Stringsrcpath,Stringsubpath)throwsIOException{//裁剪方法
FileInputStreamis=null;
ImageInputStreamiis=null;
try{
is=newFileInputStream(srcpath);//读取原始图片
Iteratorit=ImageIO.getImageReadersByFormatName("jpg");//ImageReader声称能够解码指定格式
ImageReaderreader=it.next();
iis=ImageIO.createImageInputStream(is);//获取图片流
reader.setInput(iis,true);//将iis标记为true(只向前搜索)意味着包含在输入源中的图像将只按顺序读取
ImageReadParamparam=reader.getDefaultReadParam();//指定如何在输入时从JavaImageI/O框架的上下文中的流转换一幅图像或一组图像
Rectanglerect=newRectangle(x,y,width,height);//定义空间中的一个区域
param.setSourceRegion(rect);//提供一个BufferedImage,将其用作解码像素数据的目标。
BufferedImagebi=reader.read(0,param);//读取索引imageIndex指定的对象
ImageIO.write(bi,"jpg",newFile(subpath));//保存新图片
}finally{
if(is!=null)
is.close();
if(iis!=null)
iis.close();
}
}
publicstaticvoidmain(String[]args)throwsException{
PicCutpc=newPicCut();
pc.cut(20,20,100,100,"D:\\1.jpg","D:\\11.jpg");
System.out.println("ok");
}
}
PS:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用:
在线图片转换BASE64工具:
http://tools.jb51.net/transcoding/img2base64
ICO图标在线生成工具:
http://tools.jb51.net/aideddesign/ico_img
在线Email邮箱图标制作工具:
http://tools.jb51.net/email/emaillogo
在线图片格式转换(jpg/bmp/gif/png)工具:
http://tools.jb51.net/aideddesign/picext
更多java相关内容感兴趣的读者可查看本站专题:《Java图片操作技巧汇总》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》及《Java数据结构与算法教程》。
希望本文所述对大家java程序设计有所帮助。