当前位置: 首页 > news >正文

vue-img-cutter 图片裁剪详解

前言:vue-img-cutter 文档,本文档主要讲解插件在 vue3 中使用。

一:安装依赖

npm install vue-img-cutter
# or
yarn add vue-img-cutter
# or
pnpm add vue-img-cutter

二:构建 components/ImgCutter.vue 组件

<script setup lang="ts">import ImgCutter from "vue-img-cutter";import { updateAvatar } from "@/api/user.ts";let emits = defineEmits(["getUrl"]);let cutDown = (data: any) => {let formData = new FormData();let { file } = data;formData.append("file", file);updateAvatar(formData).then((res) => {emits("getUrl", res);});};
</script><template><ImgCutter @cutDown="cutDown"></ImgCutter>
</template><style lang="scss" scoped></style>

三:使用组件

<script setup lang="ts">import ImgCutter from "@/components/ImgCutter.vue";const getUrl = (str: any) => {console.log(1, str);};
</script><template><div class="index"><ImgCutter @getUrl="getUrl" /></div>
</template>

四:参数

1. isModal

是否为弹窗模式,默认 true

<ImgCutter :isModal="true" />

2. showChooseBtn

是否显示选择图片按钮,默认 true

<ImgCutter :showChooseBtn="true" />

3. lockScroll

是否在 Dialog 出现时将 body 滚动锁定,默认 true

<ImgCutter :lockScroll="true" />

4. label

默认打开裁剪工具按钮的显示文字,默认 “选择图片”

<ImgCutter label="选择图片" />

5. boxWidth

裁剪工具宽度,默认 800

<ImgCutter :boxWidth="800" />

6. boxHeight

裁剪工具高度,默认 400

<ImgCutter :boxHeight="400" />

7. cutWidth

默认裁剪宽度,默认 200

<ImgCutter :cutWidth="200" />

8. cutHeight

默认裁剪高度,默认 200

<ImgCutter :cutHeight="200" />

9. tool

是否显示工具栏,默认 true

<ImgCutter :tool="true" />

10. toolBgc

工具栏背景色,默认 #fff

<ImgCutter toolBgc="#fff" />

11. sizeChange

是否能够调整裁剪框大小,默认 true

<ImgCutter :sizeChange="true" />

12. moveAble

能否调整裁剪区域位置,默认 true

<ImgCutter :moveAble="true" />

13. imgMove

能否拖动图片,默认 true

<ImgCutter :imgMove="true" />

14. originalGraph

是否直接裁剪原图,默认 false

<ImgCutter :originalGraph="false" />

15. crossOrigin

是否设置跨域,需要服务器做相应更改,默认 false

<ImgCutter :crossOrigin="false" />

16. crossOriginHeader

设置跨域信息 crossOrigin 为 true 时才生效

<ImgCutter :crossOrigin="true" crossOriginHeader="" />

17. rate

图片比例,例:"4:3"

<ImgCutter rate="4:3" />

18. WatermarkText

水印文字

<ImgCutter WatermarkText="水印" />

19. WatermarkTextFont

水印文字字体,默认 "12px Sans-serif"

<ImgCutter WatermarkTextFont="12px Sans-serif" />

20. WatermarkTextColor

水印文字颜色,默认 '#fff'

<ImgCutter WatermarkTextColor="#fff" />

21. WatermarkTextX

水印文字水平位置,默认 0.95

<ImgCutter :WatermarkTextX="0.95" />

22. WatermarkTextY

水印文字垂直位置,默认 0.95

<ImgCutter :WatermarkTextY="0.95" />

23. smallToUpload

如果裁剪尺寸固定且图片尺寸小于裁剪尺寸则不裁剪直接返回文件,默认 false

<ImgCutter :smallToUpload="false" />

24. saveCutPosition

是否保存上一次裁剪位置及大小,默认 false

<ImgCutter :saveCutPosition="false" />

25. scaleAble

是否允许滚轮缩放图片,默认 true

<ImgCutter :scaleAble="true" />

26. toolBoxOverflow

是否允许裁剪框超出图片范围,默认 true

<ImgCutter :toolBoxOverflow="true" />

27. index

自定义参数,将会同结果一起返回,默认 null

<ImgCutter index="aaaa" />

28. previewMode

裁剪过程中是否返回裁剪结果,如果裁剪出现卡顿时将此项设置为 false,默认 true

<ImgCutter :previewMode="true" />

29. fileType

返回的文件类型 ( png / jpeg / webp),默认 png

<ImgCutter fileType="png" />

30. quality

图像质量,默认 1

<ImgCutter :quality="1" />

31. accept

图片类型,默认 'image/gif, image/jpeg ,image/png'

<ImgCutter accept="image/gif, image/jpeg ,image/png" />

五:钩子函数

1. cutDown

完成截图后要执行的方法,返回值:Object

<ImgCutter @cutDown="cutDown" />

2. error

错误回调,返回值:Error object

<ImgCutter @error="error" />

3. onChooseImg

选择图片后,返回值:Object

<ImgCutter @onChooseImg="onChooseImg" />

4. onPrintImg

在画布上绘制图片,返回值:Object

<ImgCutter @onPrintImg="onPrintImg" />

5. onClearAll

清空画布,返回值:null

<ImgCutter @onClearAll="onClearAll" />

六:插槽

1. open 或 openImgCutter

弹出裁剪框

<ImgCutter><template #open> 选择图片 </template>
</ImgCutter>

2. choose

选择本地图片

<ImgCutter><template #choose> 选择图片 </template>
</ImgCutter>

3. cancel

取消/清空

<ImgCutter><template #cancel> 取消 </template>
</ImgCutter>

4. confirm

确认裁剪

<ImgCutter><template #confirm> 确认裁剪 </template>
</ImgCutter>

5. ratio

工具栏:宽高比

<ImgCutter><template #ratio> 工具栏:宽高比 </template>
</ImgCutter>

6. scaleReset

工具栏:重置缩放

<ImgCutter><template #scaleReset> 取消 </template>
</ImgCutter>

7. turnLeft

工具栏:向左旋转

<ImgCutter><template #turnLeft> 工具栏:向左旋转 </template>
</ImgCutter>

8. turnRight

工具栏:向右旋转

<ImgCutter><template #turnRight> 工具栏:向右旋转 </template>
</ImgCutter>

9. reset

工具栏:重置旋转

<ImgCutter><template #reset> 工具栏:重置旋转 </template>
</ImgCutter>

10. flipHorizontal

工具栏:水平翻转

<ImgCutter><template #flipHorizontal> 工具栏:水平翻转 </template>
</ImgCutter>

11. flipVertically

工具栏:重置旋转

<ImgCutter><template #flipVertically> 工具栏:垂直翻转 </template>
</ImgCutter>

相关文章:

vue-img-cutter 图片裁剪详解

前言&#xff1a;vue-img-cutter 文档&#xff0c;本文档主要讲解插件在 vue3 中使用。 一&#xff1a;安装依赖 npm install vue-img-cutter # or yarn add vue-img-cutter # or pnpm add vue-img-cutter 二&#xff1a;构建 components/ImgCutter.vue 组件 <script se…...

PCL 点云中的平面点云提取

平面点云提取 一. 索引提取1.1 算法概念1.2 算法流程1.3 主要函数二.代码示例三.结果示例一. 索引提取 1.1 算法概念 平面点云提取:是指从点云数据中提取出属于平面的点的过程。 1.2 算法流程 使用pcl::SACSegmentation类进行点云分割的基本步骤如下: 创建一个pcl::SACSegm…...

4.用python爬取保存在text中的格式为m3u8的视频

文章目录 一、爬取过程详解1.寻找视频的m3u8链接2.从网页源码中寻找视频的m3u8链接的第二部分内容3.从视频的m3u8链接获取视频 二、完整的代码 一、爬取过程详解 1.寻找视频的m3u8链接 这个文档承接了爬虫专栏的 第一节.python爬虫爬取视频网站的视频可下载的源url&#xff0…...

240503-关于Unity的二三事

240503-关于Unity的二三事 1 常用快捷键 快捷键描述CtrlP播放/停止Ctrl1打开Scene窗口Ctrl2打开Game窗口Ctrl3打开Inspect窗口Ctrl4打开Hierarchy窗口Ctrl5打开Project窗口Ctrl6打开Animation窗口 2 关联VisualStudio2022 3 节约时间&#xff1a;将最新声明的参数移动到最上…...

顺序栈的操作

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd;既然选择了远方&#xff0c;当不负青春…...

STM32 各外设GPIO配置

高级定时器TIM1/TIM8 通用定时器TIM2/3/4/5 USART SPI I2S I2C接口 BxCAN SDIO ADC/DAC 其它I/O功能...

React-hooks相关知识点总结

前言 随着函数式组件的不断流行&#xff0c;React从类式组件走上了函数式组件的时代&#xff0c;那么在新的React函数式编程中&#xff0c;hooks也成为了这个时期最广泛使用的一种方式。现在让我们总结下react hooks吧。 Hooks 是什么 react-hooks是react16.8以后&#xff0c…...

20240508日记

今天工作内容&#xff1a; 1.二号机S3点位焊接测试&#xff0c;调整位置精度。 2.一号机送针位置调整 3.自定义焊接功能测试 4.EAP服务启动测试 明日计划&#xff1a; 1.EAP流程修改功能开发 1.1 Read Barcode Complete 事件&#xff0c;上传料盘码和设备ID&#xff0c;等EA…...

Web实操(6),基础知识学习(24~)

1.[ZJCTF 2019]NiZhuanSiWei1 &#xff08;1&#xff09;进入环境后看到一篇php代码&#xff0c;开始我简单的以为是一题常规的php伪协议&#xff0c;多次试错后发现它并没有那么简单&#xff0c;它包含了基础的文件包含&#xff0c;伪协议还有反序列化 &#xff08;2&#x…...

JavaSE——方法详解

1. 方法的概念 方法就是一个代码片段 . 类似于 C 语言中的 " 函数 " 。 方法存在的意义 : 1. 是能够模块化的组织代码(当代码规模比较复杂的时候). 2. 做到代码被重复使用, 一份代码可以在多个位置使用. 3. 让代码更好理解更简单. 4. 直接调用现有方法开发, 不…...

iBarcoder for Mac:一站式条形码生成软件

在数字化时代&#xff0c;条形码的应用越来越广泛。iBarcoder for Mac作为一款专业的条形码生成软件&#xff0c;为用户提供了一站式的解决方案。无论是零售、出版还是物流等行业&#xff0c;iBarcoder都能轻松应对&#xff0c;助力用户实现高效管理。 iBarcoder for Mac v3.14…...

学习R语言第六天

文章目录 绘制图形的方式计算字符的数量的方式提取字符变量的方式根据名称查询前缀的方式转化大小写的方式大写小写的获取数据长度的方式生成一个序列的方式从1开始到10&#xff0c;每次增加2从1到3 重复2次将函数到数据框中的方式生成数据rnorm 生成30行数据,nrow是6列数据计算…...

LeetCode算法题:9. 回文数(Java解法)

给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数 是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&#xff0c…...

VALSE 2024 Workshop报告分享┆面向实际场景体验的多模态大模型DeepSeek VL

2024年视觉与学习青年学者研讨会&#xff08;VALSE 2024&#xff09;于5月5日到7日在重庆悦来国际会议中心举行。本公众号将全方位地对会议的热点进行报道&#xff0c;方便广大读者跟踪和了解人工智能的前沿理论和技术。欢迎广大读者对文章进行关注、阅读和转发。文章是对报告人…...

RFC 791 (1)-导论

目录 浅论 IP是啥 IP可以管啥 操作 范例查看 提示&#xff1a;本系列将会开始RFC文档阅读&#xff0c;这里会给出我的一些笔记 浅论 我们这篇RFC文档描述的是IP和ICMP协议&#xff0c;我们都知道&#xff0c;在传统的OSI七层或者是现在被简化的五层&#xff1a;应用层&…...

力扣hot100:199. 二叉树的右视图/437. 路径总和 III(dfs/回溯/树上前缀和/哈希表)

文章目录 一、LeetCode&#xff1a;199. 二叉树的右视图二、LeetCode&#xff1a;437. 路径总和 III 一、LeetCode&#xff1a;199. 二叉树的右视图 LeetCode&#xff1a;199. 二叉树的右视图 差点因为是个中等题打退堂鼓。其实比较简单。 右视图实际上只需要找到&#xff0c…...

浅谈 HTTPS

文章目录 HTTPS 简介HTTPS 特点HTTPS 缺点与 HTTP 的区别HTTPS 工作流程1. 服务端生成密钥对2. 服务端申请数字证书3. 服务端发送数字证书4. 客户端验证数字证书5. 客户端解析证书内容6. 客户端传送加密信息7. 服务端解密信息8. 双方协商生成会话密钥并交换9. 使用会话密钥进行…...

js手动实现unshift

js 手动实现数组的unshift unshift是什么&#xff1f; unshift() 方法可向数组的开头添加一个或更多元素&#xff0c;并返回新的长度。 注意&#xff1a; 该方法将改变数组的数目。 语法&#xff1a; array.unshift(item1,item2, ..., itemX)代码实现 首先&#xff0c;在…...

Failed to get DISPLAY: Error: All configured authentication methods failed 解决方法

Vscode一连接远程服务器就报错&#xff1a; 这个时候我们是无法使用Xming显示图像的。 尝试后发现&#xff0c;Windows电脑能够ping通服务器ip&#xff0c;但是服务器ping不通Windows电脑&#xff1a; 在网上查攻略&#xff0c;设置Windows电脑ip地址白名单&#xff0c;但…...

随便聊一下 显控科技 控制屏 通过 RS485 接口 上位机 通讯 说明

系统搭建&#xff1a; 1、自己研发的一个小系统&#xff08;采集信号&#xff0c;将采集的信号数字化&#xff09;通过COM口&#xff0c;连接显控屏 COM3 口采用 485 协议送到显控屏&#xff08;显控科技&#xff09;的显示屏展示出来&#xff09;。 2、显控屏 将 展示的数据…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...