測試手機為IPHONE6,開發(fā)者工具版本0.10.102800

微信小程序里的canvas 非 h5 canvas有很多不一樣的地方,以下把微信小程序的canvas叫做wxcanvas

 

下面全是我一點點測試出的干貨,耐心看:

1.wxcanvas,不像h5canvas那樣有width和height屬性和width和height的style樣式。他只有style樣式,可以理解為他就是個框吧;

2.wxcanvas不要當成真的H5canvas,就當它是個div就行,畫出范圍的東西也是存在的,改變width,height就顯示出來了,或者說這里有重繪,但具體如何實現(xiàn)的不知道;

3.改變wxcanvas的style的width,height,并不改為原畫布上的東西的大小;

4.css transform變換中的變大縮小也無法改變原畫布上的東西大小

5.官方說法:context只是一個記錄方法調用的容器,用于生成記錄繪制行為的actions數(shù)組。context<canvas/>不存在對應關系,一個context生成畫布的繪制動作數(shù)組可以應用于多個<canvas/>。

實際上,context.getActions()后,context中的信息會被清空,如果想重復利用,需要var temp=context.getActions()將操作數(shù)組保存下來,才可重復用于wx.drawcanvas;

6.注意

wx.drawCanvas({
  canvasId: 'target',
  actions: context.getActions()
});

默認會清空畫布,想不清空需要

wx.drawCanvas({
    canvasId: 'target',
    actions: context.getActions(),
    reserve:true});

網(wǎng)友評論