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程序设计有所帮助。