php涂鴉,微信小程序demo推薦:微信涂鴉、canvas學習實例

Page({

data:{

pen : 3, //畫筆粗細默認值

color : '#cc0033' //畫筆顏色默認值

},

startX: 0, //保存X坐標軸變量

startY: 0, //保存Y坐標軸變量

isClear : false, //是否啟用橡皮擦標記

//手指觸摸動作開始

touchStart: function (e) {

//得到觸摸點的坐標

this.startX = e.changedTouches[0].x

this.startY = e.changedTouches[0].y

this.context = wx.createContext()

if(this.isClear){ //判斷是否啟用的橡皮擦功能 ture表示清除 false表示畫畫

this.context.setStrokeStyle('#FFFFFF') //設置線條樣式 此處設置為畫布的背景顏色 橡皮擦原理就是:利用擦過的地方被填充為畫布的背景顏色一致 從而達到橡皮擦的效果

this.context.setLineCap('round') //設置線條端點的樣式

this.context.setLineJoin('round') //設置兩線相交處的樣式

this.context.setLineWidth(20) //設置線條寬度

this.context.save(); //保存當前坐標軸的縮放、旋轉、平移信息

this.context.beginPath() //開始一個路徑

this.context.arc(this.startX,this.startY,5,0,2*Math.PI,true); //添加一個弧形路徑到當前路徑,順時針繪制 這里總共畫了360度 也就是一個圓形

this.context.fill(); //對當前路徑進行填充

this.context.restore(); //恢復之前保存過的坐標軸的縮放、旋轉、平移信息

}else{

this.context.setStrokeStyle(this.data.color)

this.context.setLineWidth(this.data.pen)

this.context.setLineCap('round') // 讓線條圓潤

this.context.beginPath()

}

},

//手指觸摸后移動

touchMove: function (e) {

var startX1 = e.changedTouches[0].x

var startY1 = e.changedTouches[0].y

if(this.isClear){ //判斷是否啟用的橡皮擦功能 ture表示清除 false表示畫畫

this.context.save(); //保存當前坐標軸的縮放、旋轉、平移信息

this.context.moveTo(this.startX,this.startY); //把路徑移動到畫布中的指定點,但不創建線條

this.context.lineTo(startX1,startY1); //添加一個新點,然后在畫布中創建從該點到最后指定點的線條

this.context.stroke(); //對當前路徑進行描邊

this.context.restore() //恢復之前保存過的坐標軸的縮放、旋轉、平移信息

this.startX = startX1;

this.startY = startY1;

}else{

this.context.moveTo(this.startX, this.startY)

this.context.lineTo(startX1, startY1)

this.context.stroke()

this.startX = startX1;

this.startY = startY1;

}

//只是一個記錄方法調用的容器,用于生成記錄繪制行為的actions數組。愛掏網 - it200.comcontext跟不存在對應關系,一個context生成畫布的繪制動作數組可以應用于多個

wx.drawCanvas({

canvasId: 'myCanvas',

reserve: true,

actions: this.context.getActions() // 獲取繪圖動作數組

})

},

//手指觸摸動作結束

touchEnd: function () {

},

//啟動橡皮擦方法

clearCanvas: function(){

if(this.isClear){

this.isClear = false;

}else{

this.isClear = true;

}

},

penSelect: function(e){ //更改畫筆大小的方法

console.log(e.currentTarget);

this.setData({pen:parseInt(e.currentTarget.dataset.param)});

this.isClear = false;

},

colorSelect: function(e){ //更改畫筆顏色的方法

console.log(e.currentTarget);

this.setData({color:e.currentTarget.dataset.param});

this.isClear = false;

},

// 下拉刷新

onPullDownRefresh: function(){

wx.stopPullDownRefresh()

},

// 頁面分享

onShareAppMessage: function () {

return {

title: '微信小程序',

desc: '這是微信小程序的分享功能',

path: '/page/canvas'

}

}

})



聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 美女脱下裤子让男人捅| 看看屋在线看看电影| 亚洲国产亚洲片在线观看播放| 日本深夜福利19禁在线播放| 97久久精品午夜一区二区| 午夜影视在线免费观看| 日韩免费高清专区| 18观看免费永久视频| 亚洲精品欧美精品日韩精品| 色老头成人免费综合视频| 国产69久久精品成人看| 日韩在线观看中文字幕| 麻豆视频免费观看| 久草视频在线免费看| 无码精品A∨在线观看无广告 | 久久受www免费人成_看片中文| 国产精华av午夜在线观看| 欧美日韩激情在线一区二区| 中文国产成人久久精品小说| 国产一区二区精品久久岳| 日本免费电影一区| 色综合天天综合高清网国产| 久久se精品一区二区影院| 国产壮汉男同志69可播放| 欧美人与动人物姣配xxxx| 18禁止看的免费污网站| 亚洲欧美一区二区三区| 国产高清在线观看| 欧美性猛交xxx猛交| h视频在线观看免费观看| 亚洲人成7777影视在线观看| 妇女性内射冈站HDWWWCOM| 精品四虎免费观看国产高清午夜| 一本一本久久a久久综合精品| 伊人情人综合网| 国产精品视频二区不卡| 欧美成a人片在线观看久| 久久九九久精品国产日韩经典| 国产人成无码视频在线观看| 少妇高潮喷潮久久久影院| 激情啪啪精品一区二区|