微信小程序在一个 canvas 上画图,最后通过 canvasToTempFilePath
导出图片,最后可能会获得一张或纯白色,或纯黑色,或纯透明的图片。如果导出的图片格式是 png 就是透明,如果是 jpg 就是黑色,如果在画图之前先把整个 canvas 画成白色的,那导出的图片无论是 jpg 还是 png 都是白色。
出现这个问题的一个常见原因是,对于旧版的 canvas,使用 draw
接口时,没有在其回调函数中执行 canvasToTempFilePath
。解决方法就是在回调函数执行,且最好等 100 ~ 500ms 之后再执行。
问题可能还是没有解决,我观察到的现象:
compressImage
压缩过之后画到 canvas 再导出,有时候可以避免这个问题;解决方法:我还不知道。