广告
返回顶部
首页 > 资讯 > 精选 >如何用Vue实现图片裁剪组件
  • 343
分享到

如何用Vue实现图片裁剪组件

2023-06-20 13:06:56 343人浏览 泡泡鱼
摘要

这篇文章主要介绍“如何用Vue实现图片裁剪组件”,在日常操作中,相信很多人在如何用Vue实现图片裁剪组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Vue实现图片裁剪组件”的疑惑有所帮助!接下来,请跟

这篇文章主要介绍“如何用Vue实现图片裁剪组件”,在日常操作中,相信很多人在如何用Vue实现图片裁剪组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Vue实现图片裁剪组件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

示例:

如何用Vue实现图片裁剪组件

tip: 该组件基于vue-cropper二次封装

安装插件

npm install vue-cropperyarn add vue-cropper

写入封装的组件

<!-- 简易图片裁剪组件 --- 二次封装 --><!-- 更多api https://GitHub.com/xyxiao001/vue-cropper --><!-- 使用:传入图片 比例 显示隐藏。方法:监听底部按钮点击即可  ---更多props查询文档自行添加 --><template>  <div v-if="value" :value="value" @input="val => $emit('input', val)" class="conbox">    <div class="info">      <vueCropper        ref="cropper"        :img="img"        :outputSize="outputSize"        :outputType="outputType"        :info="info"        :canScale="canScale"        :autoCrop="autoCrop"        :fixed="fixed"        :fixedNumber="fixedNumber"        :full="full"        :fixedBox="fixedBox"        :canMove="canMove"        :canMoveBox="canMoveBox"        :original="original"        :centerBox="centerBox"        :infoTrue="infoTrue"        :mode="mode"      ></vueCropper>    </div>    <div class="btns">      <div @click="clickCancelCut" class="cancel">取消</div>      <img @click="clickRotate" src="../../assets/paradise/rotate.png" alt="" />      <div @click="clickOk" class="okey">确定</div>    </div>  </div></template><script>import { VueCropper } from 'vue-cropper';export default {  name: 'PictureCropping',  components: { VueCropper },  props: {    value: {      type: Boolean,      default: false,    },    //裁剪图片的地址    img: {      type: String,      default: '',    },    //截图框的宽高比例    fixedNumber: {      type: Array,      default: () => {        return [1, 1];      },    },  },  data() {    return {      // 裁剪组件的基础配置option      //   img: this.img, // 裁剪图片的地址      outputSize: 1, // 裁剪生成图片的质量      outputType: 'jpeg', // 裁剪生成图片的格式      info: true, // 裁剪框的大小信息      canScale: true, // 图片是否允许滚轮缩放      autoCrop: true, // 是否默认生成截图框      // autoCropWidth: 300, // 默认生成截图框宽度      // autoCropHeight: 200, // 默认生成截图框高度      fixed: true, // 是否开启截图框宽高固定比例      //   fixedNumber: this.fixedNumber, // 截图框的宽高比例      full: true, // 是否输出原图比例的截图      fixedBox: true, // 固定截图框大小 不允许改变      canMove: true, //上传图片是否可以移动      canMoveBox: true, // 截图框能否拖动      original: false, // 上传图片按照原始比例渲染      centerBox: true, // 截图框是否被限制在图片里面      // high:true,// 是否按照设备的dpr 输出等比例图片      infoTrue: true, // true 为展示真实输出图片宽高 false 展示看到的截图框宽高      // maxImgSize: 2000, //限制图片最大宽度和高度      // enlarge: 1, //图片根据截图框输出比例倍数      mode: 'contain', //图片默认渲染方式    };  },  computed: {},  watch: {},  //生命周期 - 创建完成(访问当前this实例)  created() {},  //生命周期 - 挂载完成(访问DOM元素)  mounted() {},  methods: {    clickCancelCut() {      this.$emit('clickCancelCut', '点击取消');      this.$refs.cropper.stopCrop();      this.$refs.cropper.clearCrop();    },    clickRotate() {      this.$refs.cropper.rotateRight();      this.$emit('clickRotate', '点击旋转');    },    clickOk() {      //输出裁剪的base64      this.$refs.cropper.getCropData(data => {        this.$emit('clickOk', data);        this.$refs.cropper.stopCrop();        this.$refs.cropper.clearCrop();      });    },  },};</script><style lang='less' scoped>.conbox {  position: fixed;  top: 0;  right: 0;  bottom: 0;  left: 0;  box-sizing: border-box;  height: 100vh;  width: 100%;  background-color: #000;  display: flex;  flex-direction: column;  justify-content: center;  .info {    width: auto;    height: 800px;    .vue-cropper {      background-image: none;      background-color: #000;    }  }  .btns {    padding: 0 20px;    color: #fff;    text-align: center;    display: flex;    justify-content: space-between;    align-items: center;    position: absolute;    left: 0;    right: 0;    bottom: 15px;    img {      width: 85px;      height: 85px;    }    .cancel {      background-color: #606465;      padding: 15px 20px;      width: 100px;      border-radius: 10px;    }    .okey {      background-color: #df6457;      padding: 15px 20px;      width: 100px;      border-radius: 10px;    }  }}</style>

到此,关于“如何用Vue实现图片裁剪组件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何用Vue实现图片裁剪组件

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

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

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

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

下载Word文档
猜你喜欢
  • 如何用Vue实现图片裁剪组件
    这篇文章主要介绍“如何用Vue实现图片裁剪组件”,在日常操作中,相信很多人在如何用Vue实现图片裁剪组件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Vue实现图片裁剪组件”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • Vue图片裁剪组件实例代码
    示例: tip: 该组件基于vue-cropper二次封装 安装插件 npm install vue-cropper yarn add vue-cropper 写入封装...
    99+
    2022-11-12
  • vue项目实现添加图片裁剪组件
    本文实例为大家分享了vue项目添加图片裁剪组件的具体代码,供大家参考,具体内容如下 功能如下图所示: 1、安装命令如下 npm i vue-cropper --save 2、调用组...
    99+
    2022-11-13
  • vue-cropper实现裁剪图片
    本文实例为大家分享了vue-cropper实现裁剪图片的具体代码,供大家参考,具体内容如下 先展示一下效果 如何使用: 1、安装  npm install vue-cro...
    99+
    2022-11-13
  • Vue使用Vue-cropper实现图片裁剪
    前言 这两天想给图片添加一个图片裁剪的功能,因为之前的图片都是直接上传的,很多图片肯定在前台显示的时候,都不能很好的达到我们想要的效果,因此就需要我们在对个别图片进行细微调整,已达到...
    99+
    2022-11-13
  • 基于Vue如何实现移动端图片裁剪组件功能
    小编给大家分享一下基于Vue如何实现移动端图片裁剪组件功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!最近项目上要做一个车牌识别的功能。本来以为很简单,只需要将图片扔给后台就可以了,但是...
    99+
    2022-10-19
  • vue-cropper怎么实现裁剪图片
    这篇文章主要讲解了“vue-cropper怎么实现裁剪图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-cropper怎么实现裁剪图片”吧!先展示一下效果如何使用:1、安装 ...
    99+
    2023-06-30
  • 怎么使用Vue实现移动端图片裁剪组件功能
    本篇内容主要讲解“怎么使用Vue实现移动端图片裁剪组件功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Vue实现移动端图片裁剪组件功能”吧!  一、组件的初始化参数  1、图片img(...
    99+
    2023-07-04
  • Vue图片裁剪功能实现代码
    目录一、效果展示:1、表单的图片上传项:2、裁剪框页面二、代码部分1、首先安装Vue-Cropper,基于此组件的基础上开发的裁剪页面2、裁剪弹窗的组件编写:3、【图片上传表单项】组...
    99+
    2022-11-13
  • 前端vue-cropperjs实现图片裁剪方案
    目录引言图片裁剪图片裁剪的流程vue-cropperjs的使用代码实现实现效果v-viewer的使用代码实现实现效果最后引言 做了个图片的裁剪的功能和预览的功能,前端图片的裁剪方案,...
    99+
    2022-11-13
  • 前端vue cropperjs怎么实现图片裁剪
    这篇文章主要介绍“前端vue cropperjs怎么实现图片裁剪”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“前端vue cropperjs怎么实现图片裁剪”文章能帮助大家解决问题。图片裁剪图片裁剪...
    99+
    2023-07-02
  • Angular如何实现图片裁剪工具ngImgCrop
    小编给大家分享一下Angular如何实现图片裁剪工具ngImgCrop,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!ngImgCrop是AngularJS的一个图片裁剪插件,它实际上是一个...
    99+
    2022-10-19
  • Android如何实现拍照及图片裁剪
    这篇文章主要介绍Android如何实现拍照及图片裁剪,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近做项目中涉及到了图片相关功能 ,在使用安卓6.0手机及7.1手机拍照时,遇到了因权限及文件管理导致程序崩溃等问题。...
    99+
    2023-05-30
    android6.0
  • vue如何使用vue-cropper裁剪图片你知道吗
    目录一、安装:二、使用:三、内置方法:四、使用:总结 官网: https://github.com/xyxiao001/vue-cropper 一、安装: npm instal...
    99+
    2022-11-12
  • vue项目中如何使用vue-cropper做图片裁剪
    这篇文章主要介绍了vue项目中如何使用vue-cropper做图片裁剪的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue项目中如何使用vue-cropper做图片裁剪文章都会有所收获,下面我们一起来看看吧。一...
    99+
    2023-07-04
  • Vue实现简单基础的图片裁剪功能
    目录一、准备工作二、基本结构三、添加功能onMouseDownonMouseMoveonMouseUponMouseLeave四、总结近日,在写公司项目的时候接到一个需求:对已加载的...
    99+
    2022-11-13
  • 基于JavaScript如何实现图片裁剪功能
    本篇内容介绍了“基于JavaScript如何实现图片裁剪功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、图片文件的上传和读取使用文件上...
    99+
    2023-07-05
  • JavaScript如何实现小程序图片裁剪功能
    这篇文章主要介绍“JavaScript如何实现小程序图片裁剪功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何实现小程序图片裁剪功能”文章能帮助大家解决问题。图片上传与处理要...
    99+
    2023-07-05
  • 使用css怎么实现动态图片裁剪
    今天就跟大家聊聊有关使用css怎么实现动态图片裁剪,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。<!DOCTYPE html PUBLIC &qu...
    99+
    2023-06-09
  • vue项目ElementUI组件中el-upload组件与图片裁剪功能组件结合使用详解
    vue项目ElementUI组件中el-upload组件与裁剪功能组件结合使用,供大家参考,具体内容如下 如下图所示,点击上传组件,选择文件后,会立马弹出图片裁剪功能组件的页面 ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作