CocosCreator截屏全黑問題分析:浮點(diǎn)數(shù)引起的bug

在官方的截屏案例中,關(guān)于截屏的邏輯也算是比較簡單,copy到項(xiàng)目中也能正常使用。

但是在部分手機(jī)上運(yùn)行,截屏竟然是透明白,renderTexture.readPixels()返回的像素?cái)?shù)據(jù)也沒有任何問題,而canvas.toDataURL('image/jpeg')死活始終是全黑。

首先想到的是canvas.toDataURL這個api是否存在兼容性問題,寫了demo也沒有任何問題呀

排查了很久,整整2天,發(fā)現(xiàn)context.putImage的數(shù)據(jù)竟然全是undefined,下圖解釋了為什么是undefined,太TMD的坑了

image.png

至于cc.visibleRect.height為啥是浮點(diǎn)數(shù),這就不太清楚了,不過這個浮點(diǎn)數(shù)的坑,是真的坑!目前官方案例中還存在這樣的bug,使用前記得

width = parseInt(width.toFixed(0));
height = parseInt(height.toFixed(0));
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容