1. 程式人生 > >微信小程式畫布使用範例詳解

微信小程式畫布使用範例詳解

今天關於微信小程式的畫布,做了個簡單的範例,大家來看看吧
wxml的程式碼

<canvas style="width: 300px; height: 200px;" canvas-id="fourCanvas" bindtouchstart="start" bindtap="click" >畫布效果</canvas>

js程式碼

Page({
   data:{
     canvaid:'fourCanvas',
     num:'1'
   },
  canvasIdErrorCallback: function (e) {
    console.error(e.detail.errMsg)
  },
  click:function
(){
var nums=this.data.num; nums++; if(nums%2==0){ var context = wx.createContext() context.setStrokeStyle("#00ff00") context.setLineWidth(5) context.rect(0, 0, 200, 200) context.stroke() context.setStrokeStyle("#ff0000") context.setLineWidth(2) context.moveTo(160, 100) context.arc(100
, 100, 60, 0, 2 * Math.PI, true) context.moveTo(140, 100) context.arc(100, 100, 40, 0, Math.PI, false) context.moveTo(85, 80) context.arc(80, 80, 5, 0, 2 * Math.PI, true) context.moveTo(125, 80) context.arc(120, 80, 5, 0, 2 * Math.PI, true) context.stroke() }else{ var context = wx.createContext() context.setStrokeStyle("#00ff00"
) context.setLineWidth(5) context.rect(0, 0, 200, 200) context.stroke() context.setStrokeStyle("#ff0000") context.setLineWidth(2) context.moveTo(160, 103) context.arc(100, 100, 60, 0, 2 * Math.PI, true) context.moveTo(59, 137) context.arc(100, 135, 40, 3.2, Math.PI, false) context.moveTo(84, 83) context.arc(80, 80, 5, 0, 2 * Math.PI, true) context.moveTo(124, 79) context.arc(120, 80, 5, 0, 2 * Math.PI, true) context.stroke() } wx.drawCanvas({ canvasId: this.data.canvaid, actions: context.getActions() }) this.setData({ num:nums }) }, onReady: function (e) { var context = wx.createContext() context.setStrokeStyle("#00ff00") context.setLineWidth(5) context.rect(0, 0, 200, 200) context.stroke() context.setStrokeStyle("#ff0000") context.setLineWidth(2) context.moveTo(160, 103) context.arc(100, 100, 60, 0, 2 * Math.PI, true) context.moveTo(59, 137) context.arc(100, 135, 40, 3.2, Math.PI, false) context.moveTo(84, 83) context.arc(80, 80, 5, 0, 2 * Math.PI, true) context.moveTo(124, 79) context.arc(120, 80, 5, 0, 2 * Math.PI, true) context.stroke() wx.drawCanvas({ canvasId: this.data.canvaid, actions: context.getActions() }) } })

這個對小程式的小白來說,也是很簡單的,接下來給大家發效果圖吧!
這裡寫圖片描述
點選後的效果圖(可以重複 無限次數的點選哦)
這裡寫圖片描述
若有不懂的地方,可以在下方評論,也可以掃描下方二維碼進行討論
這裡寫圖片描述