在官方的截屏案例中,关于截屏的逻辑也算是比较简单,copy到项目中也能正常使用。
但是在部分手机上运行,截屏竟然是透明白,renderTexture.readPixels()
返回的像素数据也没有任何问题,而canvas.toDataURL('image/jpeg')
死活始终是全黑。
首先想到的是canvas.toDataURL
这个api是否存在兼容性问题,写了demo也没有任何问题呀
排查了很久,整整2天,发现context.putImage
的数据竟然全是undefined
,下图解释了为什么是undefined
,太TMD的坑了
至于cc.visibleRect.height
为啥是浮点数,这就不太清楚了,不过这个浮点数的坑,是真的坑!目前官方案例中还存在这样的bug,使用前记得
width = parseInt(width.toFixed(0));
height = parseInt(height.toFixed(0));
网友评论