`

java图片的上传裁剪功能实现

阅读更多

实现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上传并裁剪图片

    java上传并裁剪图片,功能已经实现,非常完美

    Jcrop实现图片上传裁剪功能,包含前后端代码,可直接发布运行

    Jcrop实现图片上传裁剪功能,包含前后端代码,可直接发布运行,后端代码为java

    图片上传裁剪预览(uploadify+imgareaselect)_前后台代码实现

    完整的图片上传裁剪预览功能,通过uploadify+imgareaselect这两个插件实现;前后台代码(html+java)详细,所需的js和jar包均在里面,

    Java如何实现图片裁剪预览功能

    通常注册账户上传用户图像时需要进行预览,这篇文章就是教我们如何用 Java 实现图片裁剪预览功能,需要的朋友可以参考下

    flash上传头像预览裁剪

    flash上传头像预览裁剪-主要用于上传用户头像,然后可以实现在线编辑图片存储为不同像素 安装及部署: 1. 上传到 apache,iis,tomcat 服务器,通过域名访问 index.html 例如:http://localhost/index.html v1.5 ...

    图片缩放截剪功能_JAVA源码

    java实现的图片处理,主要功能图片缩放,按比例缩放,截剪

    基于java实现对长短视频进行片段的裁剪选择+MediaMetadataRetriever获取视频帧+ffmpeg视频裁剪压缩

    视频裁剪功能之后往往涉及到视频的压缩和上传,每一个功能都是Android开发中的高阶内容,比如说视频的压缩,压缩库其实开源的有一些, 但是能达到压缩比高、压缩速度快,同时又保证视频的质量,这样的开源库还是比较少的

    使用jfinal框架头像裁剪上传

    使用jfinal框架,实现了头像上传的功能; 上传图片,预览,根据自己的需求对图片进行裁剪,然后把裁剪后的图片上传的服务器保存。可以根据业务把图片和用户关联,实现用户头像显示

    jquery.Jcrop结合JAVA后台实现图片裁剪上传实例

    图片上传步骤: 1.用户选择图片 2.将图片传入后台:用户选择图片的时候选择的是各种各样的,但是我们的网页显示图片大小是有限的,所以我们就要在用户选择图片之后将图片添加到后台进行压缩,压缩成我们想要的大小...

    js实现图片剪裁、头像上传预览效果

    之前做用户档案的照片上传时一直在研究做一个可以在线编辑图片的功能,网上看了很多资料都是flash+php实现的,java还没有比较好的实现。找了很多资料,整理了一下,原理大概分为两部分:一个是前台用JavaScript对...

    使用Java代码在Android中实现图片裁剪功能

    Android应用中经常会遇到上传相册图片的需求,这里记录一下如何进行相册图片的选取和裁剪。 相册选取图片 1. 激活相册或是文件管理器,来获取相片,代码如下: private static final int TAKE_PICTURE_FROM_ALBUM ...

    网上购物系统java源码实现

    框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪、富文本编辑器等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化...

    spring-mvc整合cropper图片裁剪插件

    spring-mvc整合cropper图片裁剪插件....具体功能:上传多种不同类型的图片,图片可以任意缩放,裁剪框也可以任意缩放,可以旋转图片等等。。。 具体实现过程,请访问我的博客. http://blog.csdn.net/u012759397

    基于Misty1算法的加密软件(JAVA)的实现(源代码+论文)

    框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪、富文本编辑器等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化...

    JS等比例缩小图片尺寸的实例

    又考虑到html页面解析顺序可能导致的一些问题,决定通过定义一个简单的功能函数,然后在img元素中添加onload事件来调用的方式进行实现,代码如下: JS部分 代码如下:[removed] function changeImg(objImg) { var...

    java基于Spring Boot的后台系统,.rar

    框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪、富文本编辑器等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化...

    shearphoto1.1+PHP头像截取,头像上传,切图工具,升级版!

    2:商城商品图片切割,例如这个商品图片,有的图像部份我要去掉,那么shearphoto就能帮助你进行切割,又例如这个图片太大了,我想切小点,shearphoto也能帮你实现 3:在线美工切图等 shearphoto的用途非常广,...

Global site tag (gtag.js) - Google Analytics