• <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
    主站蜘蛛池模板: 99久久这里只有精品| 99国内精品久久久久久久| 久久99国产精品久久99果冻传媒 | 亚洲伊人久久精品影院| 四虎国产精品免费入口| 国产精品无套内射迪丽热巴| 亚洲精品97久久中文字幕无码| 国产精品天干天干在线综合| 一区二区三区日韩精品| 97精品久久天干天天天按摩| 亚洲色精品88色婷婷七月丁香| 国产情侣大量精品视频| 91不卡在线精品国产| 国产成人久久精品区一区二区| 日韩精品一区二区三区色欲AV | 99久久精品毛片免费播放| 亚洲国产精品VA在线观看麻豆 | 亚洲国产精品嫩草影院在线观看| 精品久久久久久久久久中文字幕 | 国产麻豆一精品一AV一免费| 人妻熟妇乱又伦精品视频| 亚洲精品动漫免费二区 | 97久久超碰国产精品2021| 国产精品偷伦视频观看免费| 十八18禁国产精品www| 亚洲精品国精品久久99热一| 亚洲午夜精品一级在线播放放| 日本精品一区二区三区在线视频一 | 久久91精品国产91久久小草| 国产精品三级国产电影| 精品无码AV无码免费专区| 精品亚洲国产成AV人片传媒| 久久99精品国产自在现线小黄鸭| 亚洲AV日韩精品久久久久| 无码精品人妻一区二区三区漫画 | 国产精品一区三区| 国产乱人伦偷精品视频免观看| 国产一区二区精品久久岳| 久久久精品久久久久特色影视| 麻豆精品国产自产在线观看一区| 无码精品人妻一区二区三区免费|