• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    微信小程序使用canvas的畫圖操作示例

    來源:懂視網 責編:小采 時間:2020-11-27 22:01:53
    文檔

    微信小程序使用canvas的畫圖操作示例

    微信小程序使用canvas的畫圖操作示例:本文實例講述了微信小程序使用canvas的畫圖操作。分享給大家供大家參考,具體如下: 基礎寫起來太沒動力了,也寫得亂七八糟的,還是直接解決一些小問題比較方便,代碼的方方面面的細節都會詳盡的解釋一下。 1、下面介紹一下canvas的畫圖,我這個簡單一點,畫
    推薦度:
    導讀微信小程序使用canvas的畫圖操作示例:本文實例講述了微信小程序使用canvas的畫圖操作。分享給大家供大家參考,具體如下: 基礎寫起來太沒動力了,也寫得亂七八糟的,還是直接解決一些小問題比較方便,代碼的方方面面的細節都會詳盡的解釋一下。 1、下面介紹一下canvas的畫圖,我這個簡單一點,畫

    本文實例講述了微信小程序使用canvas的畫圖操作。分享給大家供大家參考,具體如下:

    基礎寫起來太沒動力了,也寫得亂七八糟的,還是直接解決一些小問題比較方便,代碼的方方面面的細節都會詳盡的解釋一下。

    1、下面介紹一下canvas的畫圖,我這個簡單一點,畫一個帶圖文的背景圖,圖片可以從后臺獲取也可以選擇本地的。canvas畫圖首先要在wxml里面新建一個<canvas>標簽,一定要寫上canvas-id='canvas的id',這是必須條件,如下面代碼:

    <canvas canvas-id='canvas' style='width:{{windowW}}px;height:{{windowH}}px'></canvas>
    <button bindtap='chooseImage'>相冊</button>
    
    

    2、上面canvas的寬高都是js控制的,使用?wx.getSystemInfo獲取屏幕的可見寬高。代碼如下:

    wx.getSystemInfo({
     success: function (res) {
     that.setData({
     windowW: res.windowWidth,
     windowH: res.windowHeight
     })
     },
    })
    
    

    相當的詳細,有沒有!!!

    3、重點注意一下:在微信小程序的canvas畫圖中如果使用了網絡圖片,一定要先把這張圖片讀取下載下來(可使用wx.downloadFile),存為網絡格式的圖片!!!

    上面這個操作是避免網絡狀況不好的時候canvas畫圖完成了背景圖片確顯示不出來的情況,同時,這個圖片所在的域名必須在微信公眾平臺配置一下,代碼如下:

    wx.downloadFile({
     url: '圖片路徑',
     success: function (res) {
     that.setData({
     canvasimgbg: res.tempFilePath
     })
     }
    })
    
    

    4、 我上面wxml代碼里面寫了一個按鈕,使用wx.chooseImage調用了系統相冊,所以說,我們選擇一張圖片畫進canvas也是可以的,代碼如下:

    wx.chooseImage({
     success: function (res) {
     that.setData({
     chooseimg: res.tempFilePaths[0]
     })
     },
    })
    
    

    5、下面就是cancas畫圖啦,畫和屏幕一樣寬高的,然后我們再寫一行字哈哈哈,代碼如下:

    var that = this;
    var windowW = that.data.windowW;
    var windowH = that.data.windowH;
    var canvasimgbg = that.data.canvasimgbg;
    var canvasimg1 = that.data.chooseimg;
    canvas.drawImage(canvasimgbg, 0, 0, windowW, windowH);
    canvas.drawImage(canvasimg1, 0, 10, 200, 200);
    canvas.setFontSize(50)
    canvas.fillText('Hello', 200, 200)
    canvas.draw(true,setTimeout(function(){
     that.daochu()
    },1000));
    
    

    使用canvas.draw()畫圖,完畢之后直接wx.canvasToTempFilePath導出圖片

    6、導出圖片,代碼如下:

    var that = this;
    var windowW = that.data.windowW;
    var windowH = that.data.windowH;
    wx.canvasToTempFilePath({
     x: 0,
     y: 0,
     width: windowW,
     height: windowH,
     destWidth: windowW,
     destHeight: windowH,
     canvasId: 'canvas',
     success: function (res) {
     console.log(res)
     wx.saveImageToPhotosAlbum({
     filePath: res.tempFilePath,
     success(res) {
     }
     })
     wx.previewImage({
     urls: [res.tempFilePath],
     })
     }
    })
    
    

    上面這些代碼已經完成啦!!!

    主要就是各位使用的時候看需要什么樣的啦!

    下面還是附上完整的代碼把!

    // pages/canvas/canvas.js
    Page({
     /**
     * 頁面的初始數據
     */
     data: {
     },
     onLoad: function (options) {
     var that = this;
     that.sys();
     that.bginfo();
     },
     sys: function () {
     var that = this;
     wx.getSystemInfo({
     success: function (res) {
     that.setData({
     windowW: res.windowWidth,
     windowH: res.windowHeight
     })
     },
     })
     },
     bginfo: function () {
     var that = this;
     wx.downloadFile({
     url: '圖片鏈接',//注意公眾平臺是否配置相應的域名
     success: function (res) {
     that.setData({
     canvasimgbg: res.tempFilePath
     })
     }
     })
     },
     canvasdraw: function (canvas) {
     var that = this;
     var windowW = that.data.windowW;
     var windowH = that.data.windowH;
     var canvasimgbg = that.data.canvasimgbg;
     var canvasimg1 = that.data.chooseimg;
     canvas.drawImage(canvasimgbg, 0, 0, windowW, windowH);
     canvas.drawImage(canvasimg1, 0, 10, 200, 200);
     canvas.setFontSize(50)
     canvas.fillText('Hello', 200, 200)
     canvas.draw(true,setTimeout(function(){
     that.daochu()
     },1000));
     // canvas.draw();
     },
     daochu: function () {
     console.log('a');
     var that = this;
     var windowW = that.data.windowW;
     var windowH = that.data.windowH;
     wx.canvasToTempFilePath({
     x: 0,
     y: 0,
     width: windowW,
     height: windowH,
     destWidth: windowW,
     destHeight: windowH,
     canvasId: 'canvas',
     success: function (res) {
     console.log(res)
     wx.saveImageToPhotosAlbum({
     filePath: res.tempFilePath,
     success(res) {
     }
     })
     wx.previewImage({
     urls: [res.tempFilePath],
     })
     }
     })
     },
     chooseImage: function () {
     var that = this;
     var canvas = wx.createCanvasContext('canvas');
     wx.chooseImage({
     success: function (res) {
     that.setData({
     chooseimg: res.tempFilePaths[0]
     })
     that.canvasdraw(canvas);
     },
     })
     }
    })
    
    

    希望本文所述對大家微信小程序開發有所幫助。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    微信小程序使用canvas的畫圖操作示例

    微信小程序使用canvas的畫圖操作示例:本文實例講述了微信小程序使用canvas的畫圖操作。分享給大家供大家參考,具體如下: 基礎寫起來太沒動力了,也寫得亂七八糟的,還是直接解決一些小問題比較方便,代碼的方方面面的細節都會詳盡的解釋一下。 1、下面介紹一下canvas的畫圖,我這個簡單一點,畫
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲а∨天堂久久精品9966| 精品无码人妻一区二区免费蜜桃| 人妻VA精品VA欧美VA| 国产精品秘入口福利姬网站| 99热日韩这里只有精品| 国产精品人人做人人爽人人添| 日韩精品国产自在久久现线拍| 99久免费精品视频在线观看| 久久99精品国产麻豆| 久久久国产精品| 青青草原精品国产亚洲av| 国产精品国产亚洲精品看不卡| 国产精品欧美一区二区三区不卡| 91精品国产色综久久| 久久精品成人免费国产片小草| 日韩一区二区三区在线精品| 亚洲国产精品国自产拍AV| 99精品人妻无码专区在线视频区| 久久91精品国产91久久小草| 91亚洲国产成人久久精品| 国自产偷精品不卡在线| 欧洲精品视频在线观看| 久久精品国产亚洲Aⅴ蜜臀色欲| 欧美精品第一页| 成人午夜精品网站在线观看| 9久热这里只有精品| 久久精品嫩草影院| 国产高清在线精品一区| 成人精品视频99在线观看免费| 久久精品中文騷妇女内射| 亚洲国产精品成人精品无码区在线| 亚洲欧美国产∧v精品综合网| 国产办公室秘书无码精品99| 亚洲国产精品无码一线岛国| 亚洲视频在线精品| 亚洲国产精品无码久久一区二区| 亚洲欧美日韩久久精品第一区 | 国产精品999| 国产成人精品日本亚洲专| 久久综合九色综合精品| 91精品视频在线|