61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
|
const example = require('./example.js')
|
|||
|
|
|||
|
Page({
|
|||
|
onShareAppMessage() {
|
|||
|
return {
|
|||
|
title: '创建画布',
|
|||
|
path: 'packageAPI/pages/canvas/canvas'
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
onLoad() {
|
|||
|
this.context = wx.createContext()
|
|||
|
console.log('wx.createContext', this.context);
|
|||
|
|
|||
|
const methods = Object.keys(example)
|
|||
|
console.log(methods);
|
|||
|
this.setData({
|
|||
|
methods
|
|||
|
})
|
|||
|
|
|||
|
const that = this
|
|||
|
methods.forEach(function (method) {
|
|||
|
that[method] = function () {
|
|||
|
// 写法1 官方文档有描述的写法, 微信基础库支持,我们不支持
|
|||
|
//
|
|||
|
console.log('call action', method)
|
|||
|
const ctx = wx.createCanvasContext('canvas');
|
|||
|
example[method](ctx)
|
|||
|
ctx.draw(false, (res) => { console.log(res) });
|
|||
|
const actions = that.context.getActions()
|
|||
|
console.log('that.context.getActions()', actions, ctx);
|
|||
|
|
|||
|
// 写法2 更旧版本的写法 微信支持,fino基础库不支持
|
|||
|
// wx.createContext 和 wx.drawCanvas 疑似已经被从官方基础库文档中移除,但是官方基础库依旧支持
|
|||
|
|
|||
|
// example[method](that.context)
|
|||
|
// const actions = that.context.getActions()
|
|||
|
// wx.drawCanvas({
|
|||
|
// canvasId: 'canvas',
|
|||
|
// actions
|
|||
|
// })
|
|||
|
|
|||
|
// 写法3 同层渲染的原生canvas 就没实现
|
|||
|
}
|
|||
|
})
|
|||
|
},
|
|||
|
|
|||
|
toTempFilePath() {
|
|||
|
wx.canvasToTempFilePath({
|
|||
|
canvasId: 'canvas',
|
|||
|
success(res) {
|
|||
|
console.log(res)
|
|||
|
},
|
|||
|
|
|||
|
fail(res) {
|
|||
|
console.log(res)
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
})
|