vue图片裁剪组件,

  vue图片裁剪组件,

  本文主要为大家介绍前端vue-cropperjs图像裁剪方案。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  

目录

  介绍图片剪辑图片剪辑过程vue-cropperjs的代码实现效果v-viewer的代码实现效果最后

  

引言

  实现了图像的裁剪和预览功能。前端图像的大部分裁剪方案都是用cropperjs封装的。npm上有vue-cropperjs,可以直接用。viewerjs用于预览图像。这里直接使用v-viewer。

  可以点击当前地址体验一下。

  Git仓库地址和在线演示地址

  

图片裁剪

  

图片裁剪的流程

  首先,使用el-upload组件呈现现有的或裁剪的图片,然后单击要上传的文件。选择要裁剪的图片,弹出一个弹出框。在弹出框中使用vue-cropperjs对图片进行裁剪和整理后,将处理后的图片文件(Blob格式)上传到服务器或者通过回调函数在本地预览裁剪后的图片列表,通过v-viewer(辅助功能)实现全屏预览。

  

vue-cropperjs的使用

  

代码实现

  首先,注册组件后,VueCropper组件可以直接使用组件来设置这个。通过vue-cropper标签设置纵横比(1)。之后图片就只能按照一定比例裁剪了。如果想随意裁剪,不需要通过这样的API来设置。$ refs.cropper.relative zoom,this.onRotateDegreeChange,this。$refs.cropper .移动,这个。$refs.cropper.scaleX等。您可以平移、缩放、翻转、旋转等。由此可以得到处理后的图像。$ refs.cropper.getcroppedcavas()。到Blob()。Blob格式文件处理成文件格式后,上传到服务器。//导入组件并注册。

  导入“cropper js/dist/cropper . CSS”;

  从“vue-cropperjs”导入VueCropper

  //直接使用组件

  武埃-克罗珀

  溢出-隐藏

  “庄稼”

  :src=src

  预览=。预览

  :minContainerHeight=500

  背景

  :ready=onReady

  /

  //图片的宽高比可以在onReady方法中设置。

  这个。$ refs . cropper . setaspectatio(this . aspectativalue);

  //缩放图片

  这个。$refs.cropper.relativeZoom(百分比);

  //图像旋转角度

  this . onrotatedegreechange(this . rotated gree);

  //图片平移

  这个。$refs.cropper.move(offsetX,offsetY);

  //图像翻转

  这个。$ refs . cropper . scalex(scale);

  这个。$ refs . cropper . scaley(scale);

  //重置

  这个。$ refs . cropper . reset();

  //获取修改后图片的数据

  这个。$refs.cropper。getCroppedCanvas({

  //限制画布大小和生成图片的体积

  maxWidth: 2056,

  maxHeight: 2056,

  })。toBlob(

  (blob)={

  //调用确定的回调函数将blob上传到服务器或者在本地预览。

  这个。$emit(confirm ,blob);

  },

  //如果旋转角度不是直角,图片上会有空白区域。默认情况下,空白区域是透明的,使用png格式。

  //this . rotated gree % 90===0?this.file.type : image/png ,

  this.file.type,

  //质量

  这个.质量

  );

  //将文件上传到服务器

  函数onCropperConfirm(blob) {

  let file=new File([blob],filename,{ type: blob.type,});

  const formData=new formData();

  formData.append(file ,file);

  //.

  axios.post(/upload ,formData)。然后((res)={

  //.

  })

  }

  

实现效果

  

v-viewer的使用

  

代码实现

  V-viewer主要实现图片全屏预览,基于viewerjs包。

  首先介绍css,在main.js中注册v-viewer插件,可以直接调用这个。$viewerApi,并传入图像路径数组和相应的索引以全屏预览图像。//首先介绍main.js中的组件。

  导入“viewer js/dist/viewer . CSS”;

  从“v-viewer”导入VueViewer

  vue . use(VueViewer);

  //在组件中使用

  这个。$viewerApi({

  选项:{

  工具栏:真的,

  initialViewIndex: 1,

  },

  图像:[

  https://placem.at/people?random=1txt=0w=500h=500 ,

  https://placem.at/people? random=1txt=0w=1000h=500

  ],

  });

  

实现效果

  参考数据

  www.npmjs.com/package/v-v…

  www.npmjs.com/package/vue…

  Js前端推荐预览wordexcelpdfpptmp4图文等文件。

  

最后

  如果用插件实现图像裁剪,只能说CV工程师不要太舒服,要想搞懂原理还是要花很多时间去研究;更多关于前端vue-cropperjs图像裁剪的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: