微信小程式畫布使用範例詳解
阿新 • • 發佈:2019-01-27
今天關於微信小程式的畫布,做了個簡單的範例,大家來看看吧
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()
})
}
})
這個對小程式的小白來說,也是很簡單的,接下來給大家發效果圖吧!
點選後的效果圖(可以重複 無限次數的點選哦)
若有不懂的地方,可以在下方評論,也可以掃描下方二維碼進行討論