我的解决方法:
在生成canvas的那些里面加一个
preserveDrawingBuffer: true
const canvas = document.getElementsByTagName('canvas')[0];
const gl:any = canvas.getContext('webgl');
gl.canvas.toBlob(function(blob:any) {
saveAs(blob, "abao.png");
});
其实用 console.log(gl.canvas.toDataURL()); 也可以的,明显size更大了
按照这个,但是也不完全按照这个
https://www.cxyzjd.com/article/harrison2010/82915929
奇怪的是最开始下载就不行,可能是实验性的那个开启了无效,项目里实际上是动态创建的canvas,而配置那里有webgl,所以可能是因为webgl改了无效,所以尽量还是看些原理趋向的地方去改。