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

Taro+Vue实现图片裁剪组件

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.lryc.cn/news/518725.html

相关文章:

  • PHP民宿酒店预订系统小程序源码
  • Hadoop3.x 万字解析,从入门到剖析源码
  • VUE3 常用的组件介绍
  • deepin-Wine 运行器合并打包器和添加从镜像提取 DLL 的功能
  • [大模型]本地离线运行openwebui+ollama容器化部署
  • 再次梳理ISP的大致流程
  • HBuilderX打包ios保姆式教程
  • 《解锁鸿蒙系统AI能力,开启智能应用开发新时代》
  • rhcsa练习(3)
  • 科研绘图系列:R语言绘制Y轴截断分组柱状图(y-axis break bar plot)
  • 跳出技术陷阱,探索财富自由的多元路径
  • qml SpringAnimation详解
  • 中学综合素质笔记3
  • uniapp vue2版本如何设置i18n
  • 【踩坑记录❌】ubuntu 安装 NVIDIA 显卡驱动不要 autoinstall
  • vue3 + ts + element-plus(el-upload + vuedraggable实现上传OSS并排序)
  • SQL开窗函数相关的面试题和答案
  • 【数据分析(一)】初探 Numpy
  • 国产化ARM平台-飞腾派开发板硬件与系统
  • [ LeetCode 75 ] 283 移动零(JavaScript)
  • 前端学习汇总
  • 蓝笔科技 | 超凡妈妈赋能计划-【北大生涯规划师特别企划】
  • 【电路笔记 TMS320C6***DSP】C6748 EDMA3配置笔记 寄存器配置+影子通道寄存器+配置示例
  • 2025新春烟花代码(二)HTML5实现孔明灯和烟花效果
  • apollo内置eureka dashboard授权登录
  • 后台管理系统全屏功能实现
  • 风电叶片市场竞争激烈:开启绿色能源新篇章的巨大潜力
  • 【Unity3D日常开发】Unity3D中适用WEBGL打开Window文件对话框打开/上传文件
  • C# 或 .NetCore 如何使用 NPOI 导出图片到 Excel 文件
  • Lambda expressions in C++ (C++ 中的 lambda 表达式)