成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

小程序echarts+canvasdrawer實(shí)現(xiàn)頁(yè)面轉(zhuǎn)化圖片并保存到相冊(cè)

Doyle / 3393人閱讀

摘要:小程序?qū)崿F(xiàn)頁(yè)面轉(zhuǎn)化圖片并保存到相冊(cè)場(chǎng)景小程序測(cè)試活動(dòng),實(shí)現(xiàn)雷達(dá)圖展示不同的結(jié)果微信頭像二維碼測(cè)試結(jié)果文字,最終繪制出一張圖片用戶(hù)保存相冊(cè)。圓形頭像建議切鏤空?qǐng)D覆蓋,,有很難實(shí)現(xiàn)效果建議查看微信小程序社區(qū)的帖子。

小程序echarts+canvasdrawer實(shí)現(xiàn)頁(yè)面轉(zhuǎn)化圖片并保存到相冊(cè)
場(chǎng)景:小程序測(cè)試活動(dòng),實(shí)現(xiàn)echarts雷達(dá)圖展示不同的結(jié)果、微信頭像、二維碼、測(cè)試結(jié)果文字,最終繪制出一張圖片用戶(hù)保存相冊(cè)??紤]到開(kāi)發(fā)時(shí)間及各種坑使用了canvasdrawer組件,其中開(kāi)發(fā)過(guò)程中遇到的一些問(wèn)題總結(jié)。
1.安卓部分機(jī)型圖片輸出不執(zhí)行

安卓輸出圖片錯(cuò)位問(wèn)題同樣異步解決

measureText注意線(xiàn)上版本庫(kù)1.9.1+

//業(yè)務(wù)層代碼
let that = this
    // 保存圖片到臨時(shí)的本地文件
    //注意chart初始化實(shí)例不能輸出圖片
    const ecComponent = this.selectComponent("#mychart-dom-graph");//獲取echarts組件
    ecComponent.canvasToTempFilePath({
    //安卓機(jī)型此處不會(huì)成功回調(diào)
      success: res => {
        that.eventDraw(res.tempFilePath)
      },
      fail: res => console.log("失敗", res)
});

//ec-canvas.js源碼
canvasToTempFilePath(opt) {
      if (!opt.canvasId) {
        opt.canvasId = this.data.canvasId;
      }
      const system = wx.getSystemInfoSync().system
      ctx.draw(true, () => {//此處微信api在安卓部分機(jī)型不會(huì)回調(diào) ,相反ctx.draw(false)清空畫(huà)布會(huì)執(zhí)行,導(dǎo)致echarts已經(jīng)繪制畫(huà)布清空,輸出為空?qǐng)D片         
          wx.canvasToTempFilePath(opt, this);
      });  
    }
//修改后
canvasToTempFilePath(opt) {
      if (!opt.canvasId) {
        opt.canvasId = this.data.canvasId;
      }
      const system = wx.getSystemInfoSync().system
      if (/ios/i.test(system)) {
        ctx.draw(true, () => {          
          wx.canvasToTempFilePath(opt, this);          
        });  
      } else {//針對(duì)安卓機(jī)型異步獲取已繪制圖層
      ctx.draw(true,()=>{
        //斷點(diǎn)打印依舊不會(huì)執(zhí)行setTimeout(() => {wx.canvasToTempFilePath(opt, this);}, 1000);}});
        ctx.draw(true);
        setTimeout(() => {//延遲獲取
          wx.canvasToTempFilePath(opt, this);
        }, 1000);
      }
    },
2.onReady動(dòng)態(tài)修改echarts[options]失敗
 onReady: function() {
    let that = this;
    setTimeout(() => {//異步解決echarts實(shí)例沒(méi)有加載成功的無(wú)法設(shè)置options
      option.series[0].data[0].value = that.data.canvasListData
      chart.setOption(option);
    }, 500);
  }

//提前聲明變量
let chart = null;
var option = {}
3.網(wǎng)絡(luò)圖片需下載到本地,注意配置downloadFile合法域名,尤其是微信頭像鏈接 4.相冊(cè)授權(quán)拒絕后,button不會(huì)再次彈出授權(quán)彈窗,openSetting強(qiáng)制打開(kāi)設(shè)置開(kāi)啟授權(quán)。 5.圓形頭像建議切鏤空?qǐng)D覆蓋,rect,clip有bug很難實(shí)現(xiàn)UI效果

建議查看:微信小程序社區(qū)的帖子。

6.cancvas要畫(huà)2倍圖,否則輸出圖片模糊 參考

ECharts 的微信小程序版本。

小程序在安卓手機(jī)上繪制canvas,文字錯(cuò)亂。

drawImage畫(huà)圖在A(yíng)ndroid真機(jī)上顯示空白

安卓 canvas組件draw函數(shù)的回調(diào)不執(zhí)行

wx.canvasToTempFilePath安卓手機(jī)無(wú)法生成圖片

安卓手機(jī)獲取不到canvasToTempFilePath路徑的圖片

canvasdrawer

最后
HTML頁(yè)面可以使用 html2canvas轉(zhuǎn)換節(jié)點(diǎn)生成圖片保存

基于html2canvas實(shí)現(xiàn)網(wǎng)頁(yè)保存為圖片及圖片清晰度優(yōu)化

TIPS
由于時(shí)間限制,很多地方理解不夠深刻,瑕疵很多,歡迎提出

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100380.html

相關(guān)文章

  • 程序echarts+canvas 合成圖片保存下載

    摘要:再網(wǎng)上參考了一篇文章小程序?qū)崿F(xiàn)頁(yè)面轉(zhuǎn)化圖片并保存到相冊(cè)根據(jù)這篇文章的內(nèi)容,修改源碼,針對(duì)安卓機(jī)型寫(xiě)了兼容的配置,如果你的頁(yè)面只有一個(gè)圖表,就完全可以成功轉(zhuǎn)換了,如果是多個(gè)請(qǐng)修改的源碼,方法選擇就可以了。 最近做的小程序項(xiàng)目在echarts合成圖片的時(shí)候遇到了一些問(wèn)題,綜合了很多網(wǎng)友的經(jīng)驗(yàn),在此分享一下我的經(jīng)歷,如有錯(cuò)誤,歡迎指正。 1.在小程序中引入echarts組件請(qǐng)參考 echa...

    neu 評(píng)論0 收藏0
  • 一個(gè)時(shí)快速搭建微信程序

    摘要:第一步搭開(kāi)發(fā)環(huán)境首先,我們需要在本地搭建好微信小程序的開(kāi)發(fā)環(huán)境。在微信小程序中,所有的網(wǎng)絡(luò)請(qǐng)求受到嚴(yán)格限制,不滿(mǎn)足條件的域名和協(xié)議無(wú)法請(qǐng)求。第五步配置微信小程序云端示例鏡像中,已經(jīng)部署好了,但是還需要在下修改配置中的域名證書(shū)私鑰。 「小程序」這個(gè)劃時(shí)代的產(chǎn)品發(fā)布快一周了,互聯(lián)網(wǎng)技術(shù)人都在摩拳擦掌,躍躍欲試。可是小程序目前還在內(nèi)測(cè),首批只發(fā)放了 200 個(gè)內(nèi)測(cè)資格(淚流滿(mǎn)面)。本以為沒(méi)有...

    izhuhaodev 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<