JAVA实现图片剪切缩放功能
来源:互联网 发布:java工程师都要会什么 编辑:程序博客网 时间:2024/05/18 03:47
一般网站都有自定义头像功能,用户可以上传自己喜欢的图片,然后选取合适的位置,大小,经过裁剪作为自己的头像。这个过程涉及到js裁剪图片,服务器处理图片。
js裁剪一般都使用现成的js类库,如jcrop,这个比较好用。图片经过jcrop剪切后,jcrop能够将剪切信息发送到后台,其实真正的剪切过程是在后台做的。jcrop只是搜集数据。
下面是项目中用到的java实现的图片缩放和剪切功能:
剪切图片:
/** * 剪切图片,没有处理图片后缀名是否正确,还有gif动态图片 * @param sourcePath 源路径(包含图片) * @param targetPath 目标路径 null则默认为源路径 * @param x 起点x坐标 * @param y 起点y左边 * @param width 剪切宽度 * @param height 剪切高度 * @return 目标路径 * @throws IOException if sourcePath image doesn't exist */public static String cutImage(String sourcePath,String targetPath,int x,int y,int width,int height) throws IOException{File imageFile = new File(sourcePath);if(!imageFile.exists()){throw new IOException("Not found the images:"+sourcePath);}if(targetPath==null || targetPath.isEmpty()) targetPath = sourcePath;String format = sourcePath.substring(sourcePath.lastIndexOf(".")+1,sourcePath.length());BufferedImage image = ImageIO.read(imageFile);image = image.getSubimage(x, y, width, height);ImageIO.write(image, format, new File(targetPath));return targetPath;}
压缩图片:
/** * 压缩图片 * @param sourcePath 源路径(包含图片) * @param targetPath 目标路径 null则默认为源路径 * @param width 压缩后宽度 * @param height 压缩后高度 * @return 目标路径 * @throws IOException if sourcePath image does not exist */public static String zoom(String sourcePath,String targetPath,int width,int height) throws IOException{File imageFile = new File(sourcePath);if(!imageFile.exists()){throw new IOException("Not found the images:"+sourcePath);}if(targetPath==null || targetPath.isEmpty()) targetPath = sourcePath;String format = sourcePath.substring(sourcePath.lastIndexOf(".")+1,sourcePath.length());BufferedImage image = ImageIO.read(imageFile);image = zoom(image,width,height);ImageIO.write(image, format, new File(targetPath));return targetPath;} /** * 压缩图片 * @param sourceImage 待压缩图片 * @param width 压缩图片高度 * @param heigt 压缩图片宽度 */ private static BufferedImage zoom(BufferedImage sourceImage , int width , int height){ BufferedImage zoomImage = new BufferedImage(width, height, sourceImage.getType()); Image image = sourceImage.getScaledInstance(width, height, Image.SCALE_SMOOTH); Graphics gc = zoomImage.getGraphics(); gc.setColor(Color.WHITE); gc.drawImage( image , 0, 0, null); return zoomImage; }
图片处理中没考虑gif动态图片,那个需要特殊处理...
- JAVA实现图片剪切缩放功能
- JAVA实现gif图片缩放与剪切功能
- java实现静态图片剪切缩放功能【工具类】
- Java工具类——实现gif图片缩放与剪切功能
- Java工具类——实现静态图片剪切缩放功能
- Java工具类——实现静态图片剪切缩放功能
- Java工具类——实现gif图片缩放与剪切功能
- C#实现的图片缩放与剪切功能
- java图片缩放剪切处理
- java图片处理:缩放、剪切
- Java图片缩放剪切处理:
- java图片文件处理工具类【包括图片缩放,剪切等功能】
- java图片文件处理工具类【包括图片缩放,剪切等功能】
- java图片文件处理工具【剪切,缩放】
- java实现图片裁剪、缩放功能
- JAVA实现图片等比缩放,图片截取功能--封装类
- PHP图片处理类实现缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色等功能
- PHP图片处理类实现缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色等功能
- IOS视图控制对象的生命周期
- H264参数结构
- jQuery案例----左右移动
- 国际化、OGNL表达式语言
- Java中类的一些基本概念
- JAVA实现图片剪切缩放功能
- Wi-Fi速度慢的十个原因以及解决办法
- javascript range
- 阻塞与同步
- Struts2下载文件点取消出现的异常java.lang.IllegalStateException 解决方案
- uva 11795 洛克人的难题
- 还要调试。。。。。。。。
- thinking in java逍遥游记 之 夜的第八章 - 多态
- '\0'就是 字符串结束标志