微信小程式學習用demo推薦:微信塗鴉、canvas學習
這個demo,應該是作者的練習demo,表面上並沒有展示完全;
結構圖:
其中微信塗鴉部分預覽圖:
其中微信塗鴉部分預覽圖:
示例程式碼:
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陣列。context跟不存在對應關係,一個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'
}
}
})
文章來自:微信小程式
相關推薦
微信小程式學習用demo推薦:微信塗鴉、canvas學習
這個demo,應該是作者的練習demo,表面上並沒有展示完全; 結構圖: 其中微信塗鴉部分預覽圖: 其中微信塗鴉部分預覽圖: 示例程式碼: Page({ data:{ pen : 3, //畫筆粗細預設值 color : '#cc0033' //畫筆顏色
微信小程式學習用demo推薦:微信塗鴉:canvas學習
這個demo,應該是作者的練習demo,表面上並沒有展示完全;結構圖: 其中微信塗鴉部分預覽圖: 示例程式碼: [AppleScript] 純文字檢視 複製程式碼 ? 001 002 003 004 005
微信小程式,精選Demo合集,你確定不要嗎?
小編最近在開發小程式,也讀到了不少優秀的小程式原始碼,專案中有些需求可以直接從原始碼裡貼上複製過來,雖然這樣做不利於自己獨立編寫程式碼,但比較是給公司做專案啊,秉著效率第一的原則,簡直沒有什麼比ctrl+c,ctrl+v,更加順手了。為了感恩大家長久以來的關注和支援,小編準備了一些福利,整理了130
微信小程式-03登陸demo
登陸頁面 <view> <form bindsubmit='login'> <label>賬號:</label> <input name='username'></input> <
java解析微信小程式使用者資訊demo
1、引入maven依賴 <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk16</artifactId>
微信小程式 —— 考勤管理Demo(前後端及資料庫)
原始碼地址: 簡要介紹 這是一個微信小程式的考勤管理Demo,包括前後端及資料庫等內容。如有錯誤或建議,歡迎指出。 前端: 後端: 平臺: Node.js 資料庫: 初始賬戶:admin,初始密碼:ad
微信小程式 —— 快遞查詢Demo(入門)
原始碼地址及提醒: 2、由於使用的是外部api,故選擇無appid登入小程式開發工具,無需更改後臺伺服器域名 簡要介紹 這是一個微信小程式的快遞查詢Demo,僅供初學者學習使用。主要展示了一些常用的一些微信API和元件,如有錯誤或建議,歡迎指出
微信小程式登入註冊demo+java伺服器(一)
一.開發平臺和前期準備1.前端工具:微信web開發者工具打web開發者工具,新建小程式專案,目錄和名稱自己隨意填,AppID點選體驗:小程式小程式開啟後,點選右上方的詳情,專案設定,勾選不校驗xxxxx2.後臺開發工具:eclipseeclipse要求是java ee版的,並
基於微信小程式開發的demo
先上開源地址: 最近一直在研究微信小程式,跟隨網際網路新聞的熱潮 從9月29日開發到現在,也算是把大部分API和元件都用到了 這個專案之所以想到把它開源,是因為之前在一個2000人小程式交流群中,發現很多demo都很簡單 那麼既然他們做的很簡單,自然是引領很
微信小程式官方示例 Demo 原始碼獲取
一、引言 最近在學習微信小程式,莫名其妙的刷到了騰訊官方出的 小程式示例 的 Demo,感覺做的真的很好。 要是自己在寫小程式之前,多多參考這個 Demo 裡面的一些東西,應該會輕鬆很多,而且做出來的應該更加 “官方風格” 一點。 那麼問題來了,微
微信小程式~雲開發 Demo 實現發表頁面
實現的結果如下: 分析如何實現 導航欄的實現很簡單就不說了,可參考我之前的文章 重點是中間的 ② 是內容區域 區域三是功能操作區 內容區域的實現 第一個是文字區域 第二個是水平的圖片展示區域 這
微信小程式支付原始碼 Demo 後臺服務端程式碼
微信小程式支付繞坑指南 步驟 A:小程式向服務端傳送商品詳情、金額、openid B:服務端向微信統一下單 C:伺服器收到返回資訊二次簽名發回給小程式 D:小程式發起支付 E:服務端收到回撥 首先準備以一下資訊 小程式傳送小程式向服務端傳送商品詳情、金額、openid
微信小程式登入註冊demo+java伺服器(二)
四.eclipse1.關鍵程式碼及註解LoginServletpackage yan.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; im
微信小程式破解IDE+DEMO
安裝與破解 1、下載並安裝微信小程式開發工具0.7.0版本(詳細下文附件) 2、微信掃一掃,登陸小程式開發工具0.7版本。 3、掃描成功之後,退出開發工具0.7版本。 4、安裝0.9版本(安裝目錄和0.7的安裝目錄一致) 5、下載替換檔案(https://github.co
微信小程式分包傳送資料,給微信硬體完成升級
微信小程式分包傳送資料,給微信硬體完成韌體升級 微信硬體升級流程: 1.準備升級韌體包,我們使用的是zip包,實際使用的時候可以放在伺服器下載。 2.掃描ble裝置並連線,向裝置寫入10,進入dfu模式。 3.進入dfu之後藍芽會斷開,需要重新連結,另外,duf模式下,藍芽的
微信小程式合法域名配置-不校驗合法域名、web-view(業務域名)、TLS 版本以及 HTTPS 證書
微信小程式合法域名配置-不校驗合法域名、web-view(業務域名)、TLS 版本以及 HTTPS 證書 很多教程說按照以上方式呼叫即可。但是當我們在程式中實際呼叫以上程式時,就會報錯, http://14.116.211.92:8099 不在以下 request 合法域名列表中,請參考文件
微信小程式開發— 圖片顯示錯誤:VM24966:2
VM24966:2 Failed to load image http://1042065718.debug.open.weixin.qq.com/pages/detail/detail/detail : the server responded with a status of 404
微信小程式服務端請求必須HTTPS 微信小程式服務端請求必須HTTPS
微信小程式服務端請求必須HTTPS SSL證書的作用 HTTP明文協議是不安全的傳輸協議,無法進行伺服器端真實身份校驗,也不能為傳輸資料提供加密保護,通過HTTP協議傳輸的資料時刻處在被竊聽、篡改、冒充的風險
【微信小程式】下載並預覽文件——pdf、word、excel等多種型別
簡要:wx.downloadFile(OBJECT)下載檔案資源到本地,客戶端直接發起一個 HTTP GET 請求,返回檔案的本地臨時路徑。wx.openDocument(OBJECT)新開頁面開啟文件,支援格式:doc, xls, ppt, pdf, docx, xlsx, pptx。 呼
微信小程式有什麼優勢 如何做微信小程式
微信小程式優勢主要體現在以下幾方面: 1,不用安裝,即開即用,用完就走。省流量,省安裝時間,不佔用桌面; 2,體驗上雖然沒法完全媲美原生APP,但綜合考慮還是更優; 3,對於小程式擁有者來說,開發成本更低,他們可以更多財力,人力,精力放在如何運營好產品,