Taro+Vue实现图片裁剪组件

server/2025/1/21 10:14:33/

tarovue3__1">cropper-image-taro-vue3 组件库

介绍

cropper-image-taro-vue3 是一个基于 Vue 3Taro 开发的裁剪工具组件,支持图片裁剪、裁剪框拖动、缩放和输出裁剪后的图片。该组件适用于 Vue 3 和 Taro 环境,可以在网页、小程序等平台中使用。

源码

https://gitee.com/xctf/cropper-image-taro-vue

安装

你可以通过 npmyarn 安装该组件库。

npm install cropper-image-taro-vue3
# 或者使用 yarn
yarn add cropper-image-taro-vue3

效果

在这里插入图片描述

使用

你可以直接导入并使用 cropper-image-taro-vue3 组件。

1.组件导入与使用:

<template><div><cropper-image-taro-vue3 ref="cropperRef" :imagePath="imagePath" :debug="true" /><button @click="handleCrop">裁剪图片</button><button @click="handleReInit">重置裁剪框</button></div>
</template><script>
import { ref } from 'vue';
import { cropperImageTaroVue3 } from 'cropper-image-taro-vue3';  // 导入组件export default {components: {cropperImageTaroVue3,  // 注册组件},setup() {const imagePath = ref('path_to_image.jpg');  // 图片路径const cropperRef = ref(null);  // 用于获取组件的引用const handleCrop = () => {// 通过 ref 调用组件的方法if (cropperRef.value) {cropperRef.value.crop();  // 调用 crop 方法进行裁剪}};const handleReInit = () => {// 通过 ref 调用组件的 reInit 方法重置裁剪框if (cropperRef.value) {cropperRef.value.reInit();  // 调用 reInit 方法}};return {imagePath,cropperRef,handleCrop,handleReInit,};},
};
</script>

2. 组件 Props

Prop类型说明默认值
imagePathString图片路径
debugBoolean是否开启调试模式,打印调试信息false
minBoxWidthRatioNumber最小剪裁宽度比例(相对于原图宽度)0.15
minBoxHeightRatioNumber最小剪裁高度比例(相对于原图高度)0.15
initialBoxWidthRatioNumber裁剪框初始宽度比例0.6
aspectRatioNumber | null目标图片宽高比,如果设置,将限制裁剪框宽高比。null
outputFileTypeString输出文件类型,jpgpngjpg
qualityNumber输出图片质量,范围从 0 到 11

3. 组件方法

组件暴露了两个主要方法:

  • crop:用于裁剪图片,调用后将返回裁剪后的文件路径。
  • reInit:重新初始化裁剪框。
可以使用ref获取组件实例操作裁剪组件

4. 组件事件

组件可以触发以下事件:

事件名说明
ok裁剪完成后,返回裁剪后的图片路径。
<cropper-image-taro-vue3 :imagePath="imagePath" @ok="handleCropResult" /><script>
export default {methods: {handleCropResult(filePath) {console.log('裁剪后的图片路径:', filePath);}}
};
</script>

http://www.ppmy.cn/server/160151.html

相关文章

IDEA导入Maven工程不识别pom.xml

0 现象 把阿里 sentinel 项目下载本地后&#xff0c;IDEA 中却没显示 maven 工具栏。 1 右键Maven Projects 点击IDEA右侧边栏的Maven Projects&#xff0c;再点击&#xff1a; 在出现的选择框中选择指定的未被识别的pom.xml即可&#xff1a; 2 Add as maven project 右键p…

嵌入式硬件篇---PID控制

文章目录 前言第一部分&#xff1a;连续PID1.比例&#xff08;Proportional&#xff0c;P&#xff09;控制2.积分&#xff08;Integral&#xff0c;I&#xff09;控制3.微分&#xff08;Derivative&#xff0c;D&#xff09;控制4.PID的工作原理5..实质6.分析7.各种PID控制器P控…

vue3 el-table 根据id合并指定列单元格

参考文章&#xff1a;https://www.cnblogs.com/gggggggxin/p/14311726.html 在mounted方法中调用 onMergeLines() const onMergeLines () > {// 先给所有的数据都加一个v.rowspan 1tableData.value.forEach((item) > {item.rowspan 1})// 双层循环for (let i 0; i…

Vue3中ref和reactive的区别

在 Vue 3 中&#xff0c;ref 和 reactive 都是用于响应式编程的 API&#xff0c;但它们有不同的使用场景和行为。以下是它们之间的区别&#xff1a; 1. ref 用途&#xff1a;用于创建基本数据类型&#xff08;如字符串、数字、布尔值&#xff09;或对象的响应式引用。数据类型…

ios文件管理,沙盒机制以及如何操作“文件”APP,把文件共享到文件app

首先&#xff0c;系统是一个整体&#xff0c;那每个app是相互独立的&#xff0c;系统为每个app分配了一定的存储空间&#xff0c;也就是我们说的沙盒&#xff0c;每个app有自己独立的沙盒&#xff0c;文件存储在沙盒中&#xff0c;正常情况下app相互之间数据是不可以共享以及访…

2024:成长、创作与平衡的年度全景回顾

文章目录 1.前言2.突破自我&#xff1a;2024年个人成长与关键突破3.创作历程&#xff1a;从构想到落笔&#xff0c;2024年的文字旅程4.生活与学业的双重奏&#xff1a;如何平衡博客事业与个人生活5.每一步都是前行&#xff1a;2024年度的挑战与收获6.总结 1.前言 回首2024年&a…

华为云Ubuntu中安装配置PostgreSQL与PostGIS

在安装前&#xff0c;确保云服务器安全组放开5432端口。我的云服务器系统为Ubuntu server 64bit&#xff0c;参考如下网址分享的教程进行PostgreSQL与PostGIS的安装。 https://www.cnblogs.com/echohye/p/18005445 https://zhuanlan.zhihu.com/p/467644334 https://cn.linux-c…

PHP异步非阻塞MySQL客户端连接池

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…