微信小程序中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,就可以在原有绘制的基础上继续添加图片
         //回调函数
        })
}
上一篇下一篇

猜你喜欢

热点阅读