java web 头像图片先缩放再剪切功能的使用
来源:互联网 发布:三星s5智能网络切换 编辑:程序博客网 时间:2024/05/21 08:33
这两天研究了一下图片的缩放的剪切,在各个网站都会有头像的设置,比如QQ,所以图片的剪切是必须的
package com.dbwen.core.util;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.awt.image.CropImageFilter;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageUtils {
/**
* 对图片进行缩放 剪切
* @param srcImageFile: 路径 x,y:左上角坐标 destWidth,destHeight :剪切后的长 宽,finalWidth,finalHeight:前台页面图片的长 宽
* @throws IOException
*/
public static void abscut(String srcImageFile, int x, int y, int destWidth,
int destHeight,int finalWidth,int finalHeight) {
try {
Image img;
ImageFilter cropFilter;
// 读取源图像
BufferedImage bi = ImageIO.read(new File(srcImageFile));
int srcWidth = bi.getWidth(); // 源图宽度
int srcHeight = bi.getHeight(); // 源图高度
System.out.println("srcWidth= " + srcWidth + "\tsrcHeight= "
+ srcHeight);
// if (srcWidth >= destWidth && srcHeight >= destHeight) {
Image image = bi.getScaledInstance(finalWidth, finalHeight,Image.SCALE_DEFAULT);//获取缩放后的图片大小
cropFilter = new CropImageFilter(x, y, destWidth, destHeight);
img = Toolkit.getDefaultToolkit().createImage(
new FilteredImageSource(image.getSource(), cropFilter));
BufferedImage tag = new BufferedImage(destWidth, destHeight,
BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(img, 0, 0, null); // 绘制截取后的图
g.dispose();
// 输出为文件
ImageIO.write(tag, "jpg", new File(srcImageFile));
} catch (Exception e) {
e.printStackTrace();
}
}
}
具体代码如上,我发现了几个不容易理解的地方。
1:参数 x,y 是什么 x是左上角 距离左边的距离,y是左上角距离上边的距离,
2:在页面的图片尺寸是固定的,获取的坐标和长宽是相对于缩放的图片,不进行处理的话,剪切的图片是不正确的,要先进行相应的缩放,再剪切
前台用js,获取图片的坐标和长度宽度
- java web 头像图片先缩放再剪切功能的使用
- JAVA实现图片剪切缩放功能
- JAVA实现gif图片缩放与剪切功能
- java实现静态图片剪切缩放功能【工具类】
- C#实现的图片缩放与剪切功能
- java图片缩放剪切处理
- java图片处理:缩放、剪切
- Java图片缩放剪切处理:
- Java简单实现文件剪切的功能
- QT实现头像图片剪切框
- 头像图片剪切flash工具 swfobject
- 图片的缩放和剪切
- java图片文件处理工具类【包括图片缩放,剪切等功能】
- Java工具类——实现gif图片缩放与剪切功能
- Java工具类——实现静态图片剪切缩放功能
- java图片文件处理工具类【包括图片缩放,剪切等功能】
- Java工具类——实现静态图片剪切缩放功能
- Java工具类——实现gif图片缩放与剪切功能
- Android 下拉刷新框架实现
- Tyvj 1044-数字三角形
- phpwind8.5系列功能十:图酷 怎么酷怎么展现
- drill安装与部署
- html+css学习----html超链接使用
- java web 头像图片先缩放再剪切功能的使用
- linuxIDEStack——linux开发环境工具集
- linux创建分区
- Redis与Memcached的区别
- getchar()、putchar()和EOF
- JVM&垃圾回收机制
- ftp服务器vsftpd的安装与配置[ubuntu, linux]
- Oracle 11g the account is locked 问题解决
- 国美在线2014情人节报告:80后最浪漫