<canvas
type="2d" id="myCanvas"
bindtouchstart="touchevent"
bindtouchmove="touchevent"
bindtouchend="touchevent">
</canvas>
<!-- 确认裁剪按钮 -->
<button type="primary" size="mini" bindtap="onCropClick">确认</button>
// miniprogram/pages/index.js
const Cropper = require('@datagetter.cn/ycc-cropper').default;
Page({
/**
* 生命周期函数--监听页面加载
*/
onLoad: async function (options) {
const self = this;
// 微信需绑定安全域名,此路径可为微信本地图片路径
const imageTempUrl = 'http://datagetter.cn:9000/datagetter.cn/public/original/%E5%88%98%E4%BA%A6%E8%8F%B2.jpg';
wx.createSelectorQuery().select('#myCanvas')
.fields({ node: true, size: true })
.exec((res) => {
// 直接函数式调用 进行初始化
self.cropper = new Cropper(imageTempUrl,{
wrapW:wx.getSystemInfoSync().windowWidth,
wrapH:wx.getSystemInfoSync().windowHeight,
canvasDom:res[0].node,
appenv:'wxapp'
});
})
},
// 确认按钮 处理裁剪后的图片
async onCropClick(e){
let res = await cropper.getCropImage('myCanvas');
// 获取到临时文件路径 res.tempFilePath
// do something with res.tempFilePath
},
// 捕获微信canvas事件
touchevent(e){
cropper.ycc.gesture.touchLifeTracer[e.type](e);
},
})
<canvas id="canvas"></canvas>
<!-- 确认裁剪按钮 -->
<button onclick="takePhoto()">确认</button>
import Cropper from '../build/lib.js'
// 微信需绑定安全域名,此路径可为微信本地图片路径
const imageTempUrl = 'http://datagetter.cn:9000/datagetter.cn/public/original/%E5%88%98%E4%BA%A6%E8%8F%B2.jpg';
// 直接函数式调用 进行初始化
var cropper = new Cropper(imageTempUrl,{
wrapW:300,
wrapH:400,
canvasDom:document.getElementById("canvas")
});
// 响应确认按钮
window.takePhoto = function (){
var imgData = cropper.getCropImage();
// 获取到临时文件路径 imgData
// do something with imgData
}
<script src="./node_modules/@datagetter.cn/ycc-cropper/build/lib.js"></script>