2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

微信小程序畫布(canvas)轉(zhuǎn)化出來的圖片模糊問題的解決方案

2018-02-27 08:30 欄目:技術開發(fā) 查看(57812)

微信小程序提供canvas組件以及比較豐富的關于canvas的API,非常常見的應用有生成一張帶有小程序碼或者二維碼的圖片用于小程序在朋友圈中傳播,特別是淘寶客小程序更需要。

簡單的流程就是:創(chuàng)建畫布->在畫布中畫圖->從可見畫布生成圖片->保存圖片到客戶端設備的相冊中。其中畫布轉(zhuǎn)圖片,微信小程序提供一個名為wx.canvasToTempFilePath,該API的參數(shù)如下:

23151

然而,在討論組中經(jīng)常看到一個問題,那就是canvas生成的圖片保存后很模糊,包括我自己第一次按照官方文檔寫demo的時候也遇到過?,F(xiàn)在在網(wǎng)上搜索這個的問題的內(nèi)容,出現(xiàn)最多的就是兩個方案,而且很多內(nèi)容都是復制已有文章內(nèi)容的。

方案一:方案1準備兩個canvas,一個繪制壓縮圖(600*400),一個繪制原圖大小(1200*800),截圖的時候從原圖canvas截取。

但實際上上這個方案有一點問題:其一,生成需要兩個畫布;其二,繪制過大畫布在安卓上面會出現(xiàn)問題,官方文檔里也提示了避免設置過大的寬高,在安卓下會有crash的問題。

方案二:將canvas大小設為(1200*800),使用css將canvas縮放到適應屏幕大小。

這在開發(fā)工具的模擬器中是沒有問題的,然而在真機測試的時候是無效的,不管用的是transform還是zoom。

本質(zhì)上就是生成一個更大的圖片,因為手機的屏幕設備的像素比現(xiàn)在一般都是超過2的。實際上我們只需要在使用wx.canvasToTempFilePath的時候,設置參數(shù)destWidth和destHeight(輸出的寬度和高度)為width和height的2倍以上即可。

當然,這個具體數(shù)值也可以wx.getSystemInfo這個API來獲取設備的像素比了(pixelRatio),這個像素比作為以上數(shù)值。

與我們的項目經(jīng)理聯(lián)系
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請注明出處:微信小程序畫布(canvas)轉(zhuǎn)化出來的圖片模糊問題的解決方案 - 微構網(wǎng)絡
分享:
门源| 大渡口区| 德格县| 莲花县| 临桂县| 化隆| 城固县| 莎车县| 明水县| 娱乐| 珠海市| 荆门市| 太保市| 阿坝| 龙江县| 瑞昌市| 陆河县| 武安市| 自贡市| 廊坊市| 永泰县| 丰台区| 河池市| 四平市| 法库县| 封丘县| 尉犁县| 深水埗区| 建水县| 平凉市| 惠东县| 西青区| 普陀区| 兴安县| 赣州市| 房产| 城固县| 桃江县| 丹巴县| 望都县| 常宁市|