we-cropper微信小程序图片裁剪插件

作者: 魏代群 分类: 小程序,技术学习 发布时间: 2020-06-03 15:15

we-cropperwe-cropper微信小程序图片裁剪插件we-cropper

插件地址:https://github.com/we-plugin/we-cropper

文档地址:https://we-plugin.github.io/we-cropper/#/

Version:1.0 StartHTML:000000197 EndHTML:000014911 StartFragment:000002189 EndFragment:000014841 StartSelection:000002189 EndSelection:000014813 SourceURL:https://www.daimadog.com/5359.html 微信小程序图片裁剪插件we-cropper-

引入到你的小程序中

两种方案,一种直接下载,手动复制,另一种是使用命令自动克隆

cd my-project 
git clone https://github.com/we-plugin/we-cropper.git 
cd we-cropper

简单使用

wxml文件中,引入布局:

<import src="../we-cropper/we-cropper.wxml"/>
<view class="cropper-wrapper">
    <template is="we-cropper" data="{{...cropperOpt}}"/>
    <view class="cropper-buttons">
        <view
                class="upload"
                bindtap="uploadTap">
            上传图片
        </view>
        <view
                class="getCropperImage"
                bindtap="getCropperImage">
            生成图片
        </view>
    </view>
</view>

js文件中引入插件:

import WeCropper from '../we-cropper/we-cropper.js'
    const device = wx.getSystemInfoSync() // 获取设备信息
    const width = device.windowWidth // 示例为一个与屏幕等宽的正方形裁剪框
    const height = width
    Page({
      data: {
          cropperOpt: {
            id: 'cropper', // 用于手势操作的canvas组件标识符
            targetId: 'targetCropper', // 用于用于生成截图的canvas组件标识符
            pixelRatio: device.pixelRatio, // 传入设备像素比
            width,  // 画布宽度
            height, // 画布高度
            scale: 2.5, // 最大缩放倍数
            zoom: 8, // 缩放系数
            cut: {
              x: (width - 200) / 2, // 裁剪框x轴起点
              y: (width - 200) / 2, // 裁剪框y轴期起点
              width: 200, // 裁剪框宽度
              height: 200 // 裁剪框高度
            }
          }
      }
    })

在页面onLoad函数中实例化WeCropper

onLoad (option) {
    const { cropperOpt } = this.data
    this.cropper = new WeCropper(cropperOpt)
        .on('ready', (ctx) => {
            console.log(`wecropper is ready for work!`)
        })
        .on('beforeImageLoad', (ctx) => {
            wx.showToast({
                title: '上传中',
                icon: 'loading',
                duration: 20000
            })
        })
        .on('imageLoad', (ctx) => {
            wx.hideToast()
        })
}

实现touchStart、touchMove、touchEnd方法来接收事件对象

touchStart (e) {
    this.cropper.touchStart(e)
  },
  touchMove (e) {
    this.cropper.touchMove(e)
  },
  touchEnd (e) {
    this.cropper.touchEnd(e)
  }

给构造函数传入src参数即可使用。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签云
Wet penis piss movies gay xxx Poolhouse Pissing Orgy! - gaysex, gay, twinks gayman.cc xvideos.com bb53953fd7797f52bb2c71b189e2dc99 - xvideos.com, bb53953fd7797f52bb2c71b189e2dc99 All male gay porn teacher first time Chained to the warehouse floor - gaysex, twinks, gay Sexo gostoso - gay-amateur, gay, big-dick gayman.cc Sucking delicious str8 hard cock 14 - homo, gay Cop gay dick sex Reagan Fucks & Fists - twinks, gay-fist, gay gayman.cc gayman.cc gayman.cc Sex xxx photo land old daddy men gay porn tube videos He briefly - gay, twinks, twink