vue3项目中使用vue-cropper实现截图效果

前言:

        自用!!!

插件文档链接:

        https://www.npmjs.com/package/vue-cropper

使用步骤:

        1、安装

npm install vue-cropper

         2、项目中引入(全局引入);文档中有介绍如何局部引入

        3、使用

<!-- 权限管理 -->
<template><el-container class="permission_con"><vueCropperstyle="width: 100%; height: 100%"ref="cropper":img="option.img":outputSize="option.outputSize":outputType="option.outputType":autoCrop="option.autoCrop":autoCropWidth="option.autoCropWidth":autoCropHeight="option.autoCropHeight"></vueCropper></el-container><el-row style="width: 100%; height: 60px; margin-top: 10px"><el-uploadv-model:file-list="fileList"action="":auto-upload="false":show-file-list="false":on-change="handleChange"><el-button type="primary">上传图片</el-button></el-upload><el-button type="primary" plain @click="rotateLeft">左旋转</el-button><el-button type="primary" plain @click="rotateRight">右旋转</el-button><el-button type="primary" @click="getCropDataBase64">确认截图</el-button></el-row><div>展示截图的图片</div><div style="width: 300px; height: 500px"><img :src="imgUrl" style="width: 100%; height: 50%" /></div>
</template>
<script>
import { reactive, ref, toRefs } from 'vue'
export default {setup() {let data = reactive({option: {img: '', //裁剪图片的地址outputSize: 1, //outputSize 0~1outputType: 'jpg', //裁剪生成图片的格式autoCrop: true, //是否默认生成截图框autoCropWidth: "280px",//默认生成截图框宽度autoCropHeight: "240px",//默认生成截图框高度},cropper: ''})let imgUrl = ref()//向左旋转图片const rotateLeft = () => {data.cropper.rotateLeft()}//向右旋转图片const rotateRight = () => {data.cropper.rotateRight()}function handleChange(file) {data.option.img = URL.createObjectURL(file.raw)}function getCropDataBase64() {data.cropper.getCropData((data) => {imgUrl.value = data})}return {...toRefs(data),imgUrl,rotateLeft,rotateRight,handleChange,getCropDataBase64}}
}
</script>
<style lang="scss">
.permission_con {width: 100%;height: 50%;
}
.el-button{margin:0 20px;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么解决bash: composer: command not found问题

是不是遇到过bash: composer: command not found问题&#xff0c;怎么解决呢&#xff1f;下面由composer教程栏目给大家来详细介绍该问题的解决方法。 1、先看报错 2、由于错误的原因&#xff0c;安装很多东西都失败了。网上有的说是环境变量的问题&#xff0c;又一个个找也没…

DS考研真题总结——客观题(1)

开始整理真题中的客观小题&#xff0c;至于和算法有关的大题统一最后整理~ 定义背诵&#xff1a;数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效…

CAPL脚本获取电脑时间,并通过Message发送至总线

文章目录 前言一、CAPL获取时间的API1.timeNow():CANoe工程启动到执行到该函数的时间2.addTimeToMeasurementStartTime()3.void getLocalTime(long time[]):返回日期时间数组前言 在自动化开发中,无论是CAN通信测试,还是网络管理测试,亦或是休眠唤醒等等存在时间相关的,…

spring面试:二、bean的生命周期和循环引入问题(三级缓存、@Lazy)

bean的生命周期 Spring容器在进行实例化时&#xff0c;会将xml配置的的信息封装成一个BeanDefinition对象&#xff0c;Spring根据BeanDefinition来创建Bean对象&#xff0c;里面有很多的属性用来描述Bean。 其中比较重要的是&#xff1a; beanClassName&#xff1a;bean 的类…

tcp连接全过程各种状态详解

文章目录 TCP的一些重要特性tcp连接全过程各种状态参考资料 TCP的一些重要特性 TCP是一种可靠、面向连接、全双工、流控制、拥塞控制、有序传输、无差错传输、无重复传输、无丢失传输等特点的协议。为了实现这些特点&#xff0c;TCP必须对上层应用程序发送的数据进行分段、重组…

spring6 为集合类型属性赋值 --引用集合类型的bean

1.准备工作&#xff1a; Student.java package bean.dimap;import java.util.List; import java.util.Map;public class Student {private String sid;private String sname; //private Map<String,Teacher> map;//private List<Lesson> lessonList;public List&…

Flink系列之:SELECT WHERE clause

Flink系列之&#xff1a;SELECT & WHERE clause 一、SELECT & WHERE clause二、SELECT DISTINCT 适用于流、批 一、SELECT & WHERE clause SELECT 语句的一般语法是&#xff1a; SELECT select_list FROM table_expression [ WHERE boolean_expression ]table_e…

内网渗透、哈希传递、获取域控权限

网络拓扑 kali&#xff08;桥接&#xff09; 10.9.47.221 win11&#xff08;nat 模式&#xff09; 192.168.1.130 DMZ&#xff08;win7&#xff09; 网卡1&#xff08;桥接&#xff09;10.9.47.110 网卡2&#xff08;仅主机&#xff09;172.16.1.128 域控&#xff08;win 20…

算法模板之单链表图文讲解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;算法模板、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️使用数组模拟单链表讲解1.1 &#x1f514;为什么我们要使用数组去模拟单链表…

【TB作品】基于单片机的实验室管理系统,STM32,GM65二维码扫描模块

硬件&#xff1a; &#xff08;1&#xff09;STM32F103C8T6最小板&#xff08;&#xff09; &#xff08;2&#xff09;GM65二维码扫描模块 &#xff08;3&#xff09;DS1302实时时钟模块 &#xff08;4&#xff09;AT24C02 存储设备 &#xff08;5&#xff09;蜂鸣器 &#xf…

同义词替换降低论文重复率的最新研究成果 神码ai

大家好&#xff0c;今天来聊聊同义词替换降低论文重复率的最新研究成果&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 标题&#xff1a;同义词替换降低论文重复率的最新研…

oracle 10046事件跟踪

10046事件是一个很好的排查sql语句执行缓慢的内部事件&#xff0c;具体设置方式如下&#xff1a; 根据10046事件跟踪SQL语句 1、 alter session set events 10046 trace name context forever,level 12; 2、执行SQL语句 3、关闭10046事件 alter session set events 10046 trace…

Element-Ui定制Dropdown组件

1.效果 说明&#xff1a;移入后新增图标&#xff0c;然后移入后图标变色。当然大家可以想到用mouseover移入事件来实现移入颜色的变化&#xff0c;但是在使用Dropdown组件的时候&#xff0c;不支持这种写法。因此采用了原生的遍历对象的形式&#xff0c;为每一个item对象绑定鼠…

拆东墙补西墙-中国金融风控多头借贷数据分析

引言 在中国的金融行业中&#xff0c;多头借贷是一个备受关注的话题。多头借贷是指一个借款人同时从多个金融机构借款&#xff0c;这种行为可能会增加借款人的还款压力&#xff0c;也会增加金融机构的风险。因此&#xff0c;对多头借贷的风险进行有效的监控和分析对于金融机构…

基因检测1 - 肿瘤相关基因BRCA1、BRCA2、EGFR和HER2

1. BRCA1和BRCA2 乳腺癌和卵巢癌 BRCA1&#xff08;breast cancer 1, early onset&#xff09;和BRCA2&#xff08;breast cancer2&#xff0c; early onset&#xff09;是两个著名的抑癌基因&#xff0c;能有效抑制乳腺癌和卵巢癌的发生&#xff0c;其中BRCA1基因位于人类第…

【从客户端理解Kafka的使用方式】

文章目录 一、从基础的客户端说起1、消息发送者主流程2、消息消费者主流程 二、从客户端属性来梳理客户端工作机制 这一部分主要是从客户端使用的角度来理解Kakfa的重要机制。重点依然是要建立自己脑海中的Kafka消费 模型。Kafka的HighLevel API使用是非常简单的&#xff0c;所…

【Nginx】Nginx了解(基础)

文章目录 Nginx产生的原因Nginx简介Nginx的作用反向代理负载均衡策略动静分离 Nginx的Windows下的安装Linux下的安装Nginx常用命令 负载均衡功能演示 Nginx产生的原因 背景 一个公司的项目刚刚上线的时候&#xff0c;并发量小&#xff0c;用户使用的少&#xff0c;所以在低并发…

lv12 uboot移植深化 9

u-boot-2013.01移植 【实验目的】 了解u-boot 的代码结构及移植的基本方法 【实验环境】 ubuntu 14.04发行版FS4412实验平台交叉编译工具arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行 【实验步骤】 1 建立自己的平台 1.…

flutter 代码混淆

Flutter 应用混淆&#xff1a; Flutter 应用的混淆非常简单&#xff0c;只需要在构建 release 版应用时结合使用 --obfuscate 和 --split-debug-info 这两个参数即可。 –obfuscate --split-debug-info 用来指定输出调试文件的位置&#xff0c;该命令会生成一个符号映射表。目前…

uniapp api uni.request讲解

uni.request是Uniapp中用于发起网络请求的API。它类似于原生JavaScript中的XMLHttpRequest和浏览器提供的fetch函数。 使用uni.request可以发送HTTP请求&#xff0c;并获取响应数据。下面是uni.request的基本用法&#xff1a; uni.request({url: http://api.example.com/data,…