我的最新版小程序想在繪制時使用自定義字體,需要將舊版canvas升級到2d新版,發現了許多問題,下面記錄一下并提供解決思路,僅供參考,歡迎提供新思路。
一、開發工具和安卓上drawImage不執行,繪制出來是空白:
不知道哪里出了問題,反正要么不進image.onload,要么進入就undefined。解決辦法就是先在頁面生命周期onLoad中使用離屏canvas創建image,再在2d接口需要繪制圖片的地方直接使用頁面onLoad時創建好的image。
二、動態設置canvas高度:
解決辦法就是曲線救國,調用兩次繪制流程,第一次僅計算出高度,第二次再繪制內容。
三、高度1365(或4096)限制:
手機端新版canvas 2d高度限制不好解決,我的辦法就是計算高度,如果超過限制就提示用戶使用電腦端小程序繪制,并保持小程序電腦端依然走老canvas流程,所幸的是老canvas支持電腦端自定義字體。
四、繪制后的內容清晰度不好,模糊:
頁面wxml中的style寬高值需要和js代碼中的canvas寬高值(未乘寬高比之前)保持一致。