微信小程序中canvas.drawImage画图
2018-11-07 本文已影响0人
jing_bao
描述:在页面加载是使用canvas.drawImage画图,点击页面下面按钮在已绘制好的图形上继续画图。使用ctx.draw()弄了多次,均会把之前的图清掉重新绘制,看文档得知,在ctx.draw()时,传入参数true即可保存原来绘制的图,在此记录一下。
详见如下:
canvas使用:
index.wxml中
//index.wxml中
<canvas style='width:{{canvasWidth}}px;height:{{canvasHeight}}px' canvas-id='myCanvas'></canvas>
<button bindtap='addImage'></button>
js中
//**********在page外声明变量*******
var ctx = ""
//下面均在page内部
data:{
canvasHeight: '',
canvasWidth: '',
},
onLoad(options) {
var that = this
var sysInfo = wx.getSystemInfo({
success: function(res) {
that.setData({
//设置宽高为屏幕宽,高为屏幕高减去50
canvasWidth: res.windowWidth,
canvasHeight: res.windowHeight-50
})
},
})
},
onReady: function() {//页面加载绘制最初的背景图
ctx = wx.createCanvasContext('myCanvas')
ctx.drawImage('/images/background.jpeg')
ctx.draw()
},
addImage:function(){
ctx.drawImage(imgurl, x, y)//imgurl为图片地址,x为横坐标,y为设置的中坐标,
ctx.draw(true, function() {//第一个参数设为true,就可以在原有绘制的基础上继续添加图片
//回调函数
})
}