实现java图片上传和裁剪(js代码略):
1.引入jimiProClasses.jar包;
2.导入我写好的工具类(实现源码在附件);
3.使用代码:
//上传图片
public Boolean uplodImg(String userimgname,File uploduserimg,String sourceSrc,String newSrc,int zoom) {
if (userimgname != null
&& (userimgname.endsWith(".JPG")
|| userimgname.endsWith(".PNG")
|| userimgname.endsWith(".GIF")
|| userimgname.endsWith(".JPEG")
|| userimgname.endsWith(".jpg")
|| userimgname.endsWith(".png")
|| userimgname.endsWith(".gif")
|| userimgname
.endsWith(".jpeg"))) {
if (uploduserimg != null) {
String str = this.getClass().getResource("/").getPath();
File f = new File(str);
File ff = new File(f.getParent());
File file = new File(ff.getParent()+sourceSrc);
String resourceSrc = ff.getParent();
try {
FileUtils.copyFile(uploduserimg, file);
PicUtil.toReduce(file.getPath(), resourceSrc+newSrc);
try {
// 缩放为前台所需大小的图片
PicUtil.changDimension(resourceSrc+newSrc,resourceSrc+newSrc, zoom, zoom, zoom);
} catch (Exception e) {
e.printStackTrace();
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
try {
// 删除转换之前的图片
if (file.exists() && file.isFile()) {
// 关闭流再删除
FileWriter fw = new FileWriter(file);
fw.close();
System.out.println(file.delete());
}
} catch (Exception e) {
e.printStackTrace();
// return false;
}
}
}
return true;
}
public String cutImg(CutParame cutParame,String src){//裁剪头像
String str = this.getClass().getResource("/").getPath();
File f = new File(str);
File ff = new File(f.getParent());//取得跟路径
String resourceSrc = ff.getParent()+src;
//配置裁剪参数
OperateImage oi = new OperateImage(cutParame.getX(),cutParame.getY(),cutParame.getWidth(),cutParame.getHeight());
oi.setSrcpath(resourceSrc);
oi.setSubpath(resourceSrc);
try {
oi.cut();//执行裁剪操作
//裁减完后删除原来的图片
} catch (IOException e) {
e.printStackTrace();
}
try {
//将图片缩放到头像大小
PicUtil.changDimension(resourceSrc, resourceSrc);
} catch (JimiException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
File file = new File(resourceSrc);
if(file.exists()&&file.isFile()){
//关闭流再删除
FileWriter fw = new FileWriter(file);
fw.close();
file.delete();
}
} catch (IOException e) {
e.printStackTrace();
}
//裁剪成功返回图片的路径
return src;
}
相关推荐
总的来说,Java实现图片上传和裁剪功能需要结合Servlet或Spring MVC处理文件上传,然后选择合适的图像处理库进行图片裁剪。在这个过程中,需要注意文件的大小限制、异常处理以及内存管理,以确保服务的稳定性和效率...
在Java编程中,图片处理是一项常见的任务,包括...综上所述,Java提供了一套丰富的API和第三方库来实现图片上传、大小控制、宽高调整和裁剪等功能。通过熟练掌握这些技术,开发者可以构建出高效、安全的图片处理系统。
这个java版的头像上传裁剪功能是针对.NET版本的一个补充,提供了完整的Java实现方案。下面我们将详细探讨相关的知识点。 1. **文件上传** 文件上传通常使用Servlet API或者第三方库如Apache Commons FileUpload来...
在Java开发中,图片上传、预览、剪切和缩放是常见的功能需求,尤其在Web应用中。这里,我们主要探讨如何实现这些功能,并基于`swfupload`这个库来构建一个完整的解决方案。 首先,`swfupload`是一个古老的Flash上传...
在Java Web开发中,实现图片上传功能是一项常见的需求。这里我们主要探讨如何使用Java JSP技术来实现这一功能,以及如何处理上传后的图片,包括图片的剪裁和显示。首先,我们需要了解JSP(JavaServer Pages)是Java ...
在Java开发中,图片上传、删除和预览是常见的功能需求,尤其是在Web应用中。这里我们探讨的是如何利用Java和layui插件实现这些功能,并通过POST方法将数据提交到服务端。layui是一款流行的前端UI框架,它提供了丰富...
在这个“JSP图片上传裁剪Demo”中,我们将探讨如何在JSP环境中实现图片上传和裁剪功能,这对于网页开发,尤其是涉及到用户头像管理的项目来说,是非常实用的功能。 首先,图片上传通常涉及前端和后端两部分。前端...
总的来说,实现Java图片裁剪预览涉及了图像读取、显示、裁剪、预览效果生成以及用户交互等多个步骤。通过熟练掌握这些知识点,开发者可以构建出高效且用户体验良好的图像裁剪工具。在实际项目中,可以根据需求选择...
因此,通常我们会使用第三方库如`SimpleCropImage`来实现裁剪功能。首先,需要添加`SimpleCropImage`库到项目中。然后,创建一个新的Intent,设置裁剪参数(如裁剪比例、是否保持宽高比等),并启动裁剪活动。 ```...
总结来说,利用imgareaselect插件和后端处理,我们可以实现一个兼容各种浏览器的图片上传裁剪功能。前端通过imgareaselect获取用户选择的裁剪区域,将坐标信息传给后端,后端则负责图片的压缩和裁剪,确保了裁剪效果...
6. **图像处理**:项目可能使用了特定的Java图像处理库,如Java Advanced Imaging (JAI) 或 ImageIO,来实现图片的缩放和裁剪功能。 总的来说,"jsp+CropZoom+jquery+java 图片缩放裁剪"项目是一个结合了前后端技术...
在`ZoomImageDemo`项目中,可能是使用了`Jcrop`这个JavaScript库来提供前端的图片裁剪功能,然后将裁剪参数(例如裁剪区域的坐标和比例)一并发送到后端。在后端,我们需要根据这些参数对原始图片进行裁剪,这通常...
6. **ZoomImageDemo**:这个文件名可能是项目中一个具体的示例或者组件,可能是一个用于演示图片缩放和裁剪功能的Java类或JSP页面。它可能包含了图像缩放算法以及裁剪区域选择的逻辑。 7. **Eclipse**:Eclipse是一...
这个功能让用户能够选择一张图片,对其进行裁剪,然后将裁剪后的图片上传到服务器。在本文中,我们将深入探讨实现这一功能的关键技术和步骤。 首先,我们需要在用户界面上提供一个选择图片的入口,这通常通过集成...
1. **前端裁剪库**:前端可以使用JavaScript库如`Cropper.js`或`jQuery UI Cropper`来实现图片预览和裁剪功能。用户可以在浏览器中选择并调整裁剪区域,然后将裁剪信息发送到服务器。 2. **图片处理库**:在服务器...
Jcrop作为一个强大的前端工具,可以帮助简化用户界面的实现,而Java的图像处理库则提供了裁剪功能的后端支持。在实际开发中,还需要考虑错误处理、安全性(如防止上传恶意文件)和性能优化等问题。
在本文中,我们将深入探讨如何使用...通过合理运用这些技术,我们可以构建出一个用户体验良好、兼容性强的头像上传裁剪功能。在实际开发中,还需要考虑到错误处理、安全性和性能优化等方面,确保系统的稳定和高效运行。
本项目聚焦于“jQuery Crop”与Java结合实现图片的裁剪上传功能,这是一个前端与后端协作的重要应用场景。 首先,`jQuery Crop` 是一个基于 jQuery 的图片裁剪插件,它允许用户在客户端对图片进行缩放、移动、旋转...
本节将详细介绍如何使用Struts2和jQuery实现图片上传并带有裁剪、放大和缩小功能。 首先,我们需要理解Struts2的工作原理。Struts2是一个基于MVC(Model-View-Controller)架构的框架,它负责接收用户请求,处理...