支付宝小程序图片裁剪组件

根据自己的需求对微信端的image-cropper进行修改,可以用在支付宝小程序上了。项目地址

效果

在这里插入图片描述

使用

引入组件

  "usingComponents": {
    "image-cropper":"/image-cropper/image-cropper"
  },
  "allowsBounceVertical":"NO" //记得将页面拖动设置为NO

在编辑器详情,小程序配置中勾上启用component2。

page.axml

<image-cropper a:if="{{true}}}" imgSrc="{{src}}" ref="imagecropper" id="image-cropper" limit_move="{{true}}" disable_rotate="{{true}}" width="{{width}}" height="{{height}}" onLoadimage="loadimage" onConfirm="handleCut" onCancle="handleCancle"></image-cropper>

注意 src路径参考 getimageinfo的路径,绝对路径无效,支持网络地址、本地临时文件本地缓存文件本地用户文件代码包文件
也可以使用相对路径,需在 mini.project.json 中配置可读取的小程序文件,src="image/1.jpg"

// mini.project.json 配置示例,下例中 source 为根目录(app.json 所在目录)下的文件夹,* 代表任意文件名。
{
  "assetsInclude": ["image/*.jpg"]
}

page.js

data{
    src: "" ,
    width: 250, //宽度
    height: 250, //高度
},
imagecropper(ref) {
    this.cropper = ref;
},
//加载图片
loadimage(e) {
    console.log('图片加载完成', e);
    my.hideLoading();
    //重置图片角度、缩放、位置
    this.cropper.imgReset();
  },
//裁剪
handleCut(e){
    console.log("裁剪/确认",e)
},
//取消
handleCancle(){
    console.log("取消")
}

handleCut(e)

返回值e:

{
    url: ,//临时文件地址
    width:,//宽度
    height:,//高度
}

url的使用参考文件系统

图片裁剪组件配置说明

配置项名称类型默认值描述
onCropperloadFunctionnull组件加载完成时触发的回调函数。
onLoadimageFunctionnull图片加载完成时触发的回调函数。
onConfirmFunctionnull用户确认裁剪操作时触发的回调函数。
onCancleFunctionnull用户取消裁剪操作时触发的回调函数。
imgSrcString“”要裁剪的图片路径。
heightNumber200裁剪框的高度。
widthNumber200裁剪框的宽度。
min_widthNumber64裁剪框的最小宽度。
min_heightNumber64裁剪框的最小高度。
max_widthNumber300裁剪框的最大宽度。
max_heightNumber300裁剪框的最大高度。
disable_widthBooleanfalse是否禁止调整裁剪框的宽度。
disable_heightBooleanfalse是否禁止调整裁剪框的高度。
disable_ratioBooleanfalse是否锁定裁剪框的比例(宽高比)。
export_scaleNumber3生成的图片尺寸相对于裁剪框的比例。
qualityNumber1生成的图片质量(范围为0到1)。
scaleNumber1图片的缩放比例。
angleNumber0图片的旋转角度。
min_scaleNumber0.5图片的最小缩放比例。
max_scaleNumber2图片的最大缩放比例。
disable_rotateBooleanfalse是否禁用图片旋转功能。
limit_moveBooleanfalse是否限制裁剪框的移动范围(裁剪框只能在图片内)。

说明

以上配置项用于自定义图片裁剪组件的行为和外观。开发者可以根据需求调整这些选项以实现特定的功能。

本项目来修改自image-cropper,alipaycrop 由于原组件在使用过程中存在无法导出图片问题,所以进行了修改,并且根据自己的需要添加并修改了部分交互逻辑,如裁剪框横向纵向拖动,确认返回交互等,支付宝端运行良好,微信尚未测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值