flinfo/dc-App/uni_modules/bt-cropper
2025-03-07 17:57:49 +08:00
..
components/bt-cropper 更新 2025-03-07 17:57:49 +08:00
changelog.md init 2025-03-01 10:26:49 +08:00
package.json init 2025-03-01 10:26:49 +08:00
readme.md init 2025-03-01 10:26:49 +08:00

bt-cropper 图片裁切

组件名bt-cropper

图片裁切组件在页面中裁切图片输出裁切后的图片支持app小程序H5

在线体验

将demo编译为微信小程序的时候一定要填写appid不然无法使用

注意事项 为了避免错误使用,给大家带来不好的开发体验,请在使用组件前仔细阅读下面的注意事项,可以帮你避免一些错误。

  • 组件需要依赖 sass 插件 ,请自行手动安装
  • 只测试了头条小程序app-vue 安卓微信小程序和H5 大部分平台应该都没问题了
  • 包裹层或裁剪器需要手动指定高度和宽度推荐手动指定裁剪器的大小尤其是头条小程序js有时候获取不到容器的大小
  • 如使用过程中有任何问题,或者您有一些好的建议,欢迎联系作者微信:1097122362

安装方式

本组件符合easycom规范,HBuilderX 2.5.5起,只需将本组件导入项目,在页面template中即可直接使用,无需在页面中import和注册components

基本用法

示例

<template>
	<view class="container">
		<bt-cropper ref="cropper" :imageSrc="imageSrc"></bt-cropper>
		<button @click="crop">裁切</button>
	</view>
</template>
<style>
	.container{
		/** 外层一定要指定大小 */
		height:100vh;
	}
</style>
export default {
   methods:{
      crop(){
        // 通过组件定义的ref调用cropper方法返回一个promise对象
        this.$refs.cropper.crop().then((res)=>{
			console.log(res)
		})
      }
   }
}

限定裁切比例

bt-cropper指定ratio即可设置裁切框的宽高比如果你想让用户自由缩放将ratio设置为0即可

示例

<bt-cropper ref="cropper" :ratio="16/9":imageSrc="imageSrc"></bt-cropper>

API

cropper Props

属性名 类型 默认值 说明
ratio number 0 裁切图像的宽高比0表示自由比例
dWidth number 0 生成的图片的宽度,单位px,如果传入0的话就是按原像素的比例裁剪也就是说输出图片的清晰度和输入图片的清晰度一样
imageSrc String '' 原图的路径支持本地路径和网络路径如果是网络路径小程序要注意配置下载域名H5要注意跨域问题
mask String '' 裁剪的蒙版url配合蒙版可以裁剪出任何形状的图形 (示例见全屏裁剪demo)
fileType String 'jpg' 目标文件的类型,只支持 'jpg' 或 'png'。默认为 'jpg'
quality Number 1 图片的质量,取值范围为 (0, 1]不在范围内时当作1.0处理
showGrid Boolean false 是否显示中心网格线,默认不显示
initPosition object null 图片自定义的初始的位置内容格式见change事件
autoZoom Boolean true 是否开启操作结束后自动放大到窗口大小
containerSize object null 手动指定容器大小如果裁剪器放在大小会移动或缩放的dom中则必须手动指定大小可以带上单位如果不带单位默认px支持的单位有rpxpxvwvm,示例:{width:100,height:1100}或者:{width:'100rpx',height:'100rpx'}
canvas2d Boolean false 是开启 2d canvas

cropper Methods

方法名称 说明 参数
crop 裁剪图片 开始绘制并开始裁剪图片返回Promise对象
init 初始化,图片路径变化的时候自动调用此方法如果包裹的dom大小变化了你需要手动调用此方法 -
initCropper 重置裁剪框和图片的位置和大小到初始的位置和大小 -
undo 撤销最多可以回退10步 -
resume 重做 -

cropper Events

方法名称 说明 返回值
change 当裁剪框和图片的相对位置发生变化的时候触发,返回裁剪框与图片的相对位置 ev={left:number,top:number,width:number,height:number}
loadFail 当图片加载失败时触发 -
cropStart 当裁开始时触发 -

帮助

在使用中如遇到无法解决的问题,请提 Issues 或者加我 微信:1097122362。