广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >前端vue-cropperjs实现图片裁剪方案
  • 496
分享到

前端vue-cropperjs实现图片裁剪方案

2024-04-02 19:04:59 496人浏览 泡泡鱼
摘要

目录引言图片裁剪图片裁剪的流程Vue-cropperjs的使用代码实现实现效果v-viewer的使用代码实现实现效果最后引言 做了个图片的裁剪的功能和预览的功能,前端图片的裁剪方案,

引言

做了个图片的裁剪的功能和预览的功能,前端图片的裁剪方案,大多数都是用cropperjs进行封装,npm上有vue-cropperjs可以直接用起来,viewerjs是用来实现图片的预览,这里直接使用了v-viewer来实现。

可以点击现在地址体验喔

git仓库地址 以及在线demo地址

图片裁剪

图片裁剪的流程

  • 首先使用el-upload组件,渲染已经存在或者裁剪过的图片
  • 点击文件上传,选中需要裁剪的图片
  • 弹出一个弹框,在弹框中使用vue-cropperjs实现图片裁剪
  • 裁剪完成后,通过回调函数,将处理后的图片文件(Blob格式)上传到服务器或者本地预览出来
  • 裁剪完成的图片列表,通过v-viewer实现点击全屏预览(辅助作用)

vue-cropperjs的使用

代码实现

  • 首先在组件注册VueCropper组件
  • 直接可以通过vue-cropper标签使用组件
  • 设置this.$refs.cropper.setAspectRatio(1)之后,图片只能按照一定的比例裁剪,想要随意裁剪可以不设置
  • 通过this.$refs.cropper.relativeZoom、this.onRotateDegreeChange、this.$refs.cropper.move、this.$refs.cropper.scaleX 等api,可以对图片进行平移、缩放、翻转、旋转等操作
  • 通过this.$refs.cropper.getCroppedcanvas().toBlob()获取到处理后图片的Blob格式文件
  • Blob格式文件处理成File格式后,上传到服务器
// 引入组件并注册
import "cropperjs/dist/cropper.CSS";
import VueCropper from "vue-cropperjs";

// 直接使用组件
<vue-cropper
  overflow-hidden
  ref="cropper"
  :src="src"
  preview=".preview"
  :minContainerHeight="500"
  background
  :ready="onReady"
/>

// 图片可以在onReady方法中设置裁剪的宽高比例
this.$refs.cropper.setAspectRatio(this.aspectRatioValue);

// 缩放图片
this.$refs.cropper.relativeZoom(percent);

// 图片旋转角度
this.onRotateDegreeChange(this.rotateDegree);

// 图片平移
this.$refs.cropper.move(offsetX, offsetY);

// 图片翻转
this.$refs.cropper.scaleX(scale);
this.$refs.cropper.scaleY(scale);

// 重置
this.$refs.cropper.reset();

// 获取修改后的图片的数据
  this.$refs.cropper
      .getCroppedCanvas({
        // 限制画布大小,限制生成的图片体积
        maxWidth: 2056,
        maxHeight: 2056,
      })
      .toBlob(
        (blob) => {
          // 调用确定的回调函数,将blob上传到服务器或者本地预览
          this.$emit("confirm", blob);
        },
        // 如果旋转角度不为直角,则图片一定会出现空白区域,空白区域默认透明,使用 png 格式
        //this.rotateDegree % 90 === 0 ? this.file.type : 'image/png',
        this.file.type,
        // 质量
        this.quality
      );
      
// 将文件上传到服务器
function onCropperConfirm(blob) {
    let file = new File([blob], filename, { type: blob.type,});
     const fORMData = new FormData();
     formData.append("file", file);
     // ...
     axiOS.post("/upload", formData).then((res) => {
          // ...
     })
}

实现效果

v-viewer的使用

代码实现

v-viewer主要的实现图片的全屏预览,基于viewerjs封装

  • 首先在main.js中引入css和注册v-viewer插件
  • 在页面中可以直接通过this.$viewerApi 调用,传入图片路径的数组和对应的索引,实现全屏预览图片
// 首先在main.js中引入组件
import "viewerjs/dist/viewer.css";
import VueViewer from "v-viewer";
Vue.use(VueViewer);

// 组件中使用
this.$viewerApi({
    options: {
      toolbar: true,
      initialViewIndex: 1,
    },
    images: [
        "https://placem.at/people?random=1&txt=0&w=500&h=500",
        "Https://placem.at/people?random=1&txt=0&w=1000&h=500"
    ],
});

实现效果

参考资料

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

www.npmjs.com/package/vue…

推荐 js前端实现Word excel pdf ppt mp4图片文本等文件预览

最后

图片剪裁使用插件实现的话,只能说CV工程师不要太爽,要了解原理的话,还是需要花费很多时间研究的;更多关于前端vue-cropperjs图片裁剪的资料请关注编程网其它相关文章!

--结束END--

本文标题: 前端vue-cropperjs实现图片裁剪方案

本文链接: https://www.lsjlt.com/news/153919.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 前端vue-cropperjs实现图片裁剪方案
    目录引言图片裁剪图片裁剪的流程vue-cropperjs的使用代码实现实现效果v-viewer的使用代码实现实现效果最后引言 做了个图片的裁剪的功能和预览的功能,前端图片的裁剪方案,...
    99+
    2022-11-13
  • 前端vue cropperjs怎么实现图片裁剪
    这篇文章主要介绍“前端vue cropperjs怎么实现图片裁剪”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“前端vue cropperjs怎么实现图片裁剪”文章能帮助大家解决问题。图片裁剪图片裁剪...
    99+
    2023-07-02
  • cropperjs实现裁剪图片功能
    本文实例为大家分享了cropperjs实现裁剪图片功能的具体代码,供大家参考,具体内容如下 cropperjs (裁剪图片) vue版本 // 下载 // npm install c...
    99+
    2022-11-13
  • cropperjs怎么实现裁剪图片功能
    这篇“cropperjs怎么实现裁剪图片功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“cropperjs怎么实现裁剪图片...
    99+
    2023-06-29
  • vue-cropper实现裁剪图片
    本文实例为大家分享了vue-cropper实现裁剪图片的具体代码,供大家参考,具体内容如下 先展示一下效果 如何使用: 1、安装  npm install vue-cro...
    99+
    2022-11-13
  • Vue使用Vue-cropper实现图片裁剪
    前言 这两天想给图片添加一个图片裁剪的功能,因为之前的图片都是直接上传的,很多图片肯定在前台显示的时候,都不能很好的达到我们想要的效果,因此就需要我们在对个别图片进行细微调整,已达到...
    99+
    2022-11-13
  • vue-cropper怎么实现裁剪图片
    这篇文章主要讲解了“vue-cropper怎么实现裁剪图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-cropper怎么实现裁剪图片”吧!先展示一下效果如何使用:1、安装 ...
    99+
    2023-06-30
  • Vue图片裁剪功能实现代码
    目录一、效果展示:1、表单的图片上传项:2、裁剪框页面二、代码部分1、首先安装Vue-Cropper,基于此组件的基础上开发的裁剪页面2、裁剪弹窗的组件编写:3、【图片上传表单项】组...
    99+
    2022-11-13
  • 如何用Vue实现图片裁剪组件
    这篇文章主要介绍“如何用Vue实现图片裁剪组件”,在日常操作中,相信很多人在如何用Vue实现图片裁剪组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Vue实现图片裁剪组件”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • vue项目实现添加图片裁剪组件
    本文实例为大家分享了vue项目添加图片裁剪组件的具体代码,供大家参考,具体内容如下 功能如下图所示: 1、安装命令如下 npm i vue-cropper --save 2、调用组...
    99+
    2022-11-13
  • android实现图片裁剪的两种方法
    两种android图片裁剪方式,供大家参考,具体内容如下 一、相机拍完照之后利用系统自带裁剪工具进行截取 public static void cropImage(Activit...
    99+
    2022-11-12
  • 基于Vue如何实现移动端图片裁剪组件功能
    小编给大家分享一下基于Vue如何实现移动端图片裁剪组件功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!最近项目上要做一个车牌识别的功能。本来以为很简单,只需要将图片扔给后台就可以了,但是...
    99+
    2022-10-19
  • 怎么使用Vue实现移动端图片裁剪组件功能
    本篇内容主要讲解“怎么使用Vue实现移动端图片裁剪组件功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Vue实现移动端图片裁剪组件功能”吧!  一、组件的初始化参数  1、图片img(...
    99+
    2023-07-04
  • Vue实现简单基础的图片裁剪功能
    目录一、准备工作二、基本结构三、添加功能onMouseDownonMouseMoveonMouseUponMouseLeave四、总结近日,在写公司项目的时候接到一个需求:对已加载的...
    99+
    2022-11-13
  • Python实现图片裁剪的两种方式——P
    在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还有一种利用了OpenCV。两种方式都需要简单的几行代码,这可能也就是现在Python那么流行的原因吧。 首先,我们有一张原始图片,如下图所示: 原始图片...
    99+
    2023-01-31
    两种 方式 图片
  • Node+UDP实现图片裁剪功能的方法
    这篇文章将为大家详细讲解有关Node+UDP实现图片裁剪功能的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。UDP服务器可以用于一些特殊数据的(高效)传输,例如图片、视频和音频信息等我见过一些大佬用U...
    99+
    2023-06-08
  • android编程实现系统图片剪裁的方法
    本文实例讲述了android编程实现系统图片剪裁的方法。分享给大家供大家参考,具体如下: package cn.test; import java.io.File; impo...
    99+
    2022-06-06
    方法 图片 系统 Android
  • Android编程实现图片拍照剪裁的方法
    本文实例讲述了Android实现图片拍照剪裁的方法。分享给大家供大家参考,具体如下: 调用系统的裁剪工具对相册或者拍照的图片进行裁剪。 startActivityforResu...
    99+
    2022-06-06
    方法 图片 Android
  • ASP.NET MVC实现单个图片上传、限制图片格式与大小并在服务端裁剪图片
    本篇,在ASP.NET MVC4下实现单个图片上传,具体功能包括: 1、在客户端选择图片,并限制图片的大小和格式2、在客户端上传图片,并显示预览图3、在服务端限制图片的大小和格式4、...
    99+
    2022-11-13
  • php+html5兼容手机端的图片选取裁剪上传怎么实现
    本篇内容介绍了“php+html5兼容手机端的图片选取裁剪上传怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先放置一个上传按钮及相...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作