当打电话的时候或者在后台停留时间过长,回来发现canvas的背景会变黑色,drawImage 这个方法插入base64的图片 图片是png的
你要知道Canvas白色部分并不是实体的#FFF,而是透明背景,所以说只要是Canvas画布通过toDataURL转换成base64时候,背景都会被填充成黑色。
简单的解决这个问题:
在取得Canvas元素或者绘制对象之后(更或者在你准备绘制Canvas之前),给你的Canvas加一层白色矩形框(Canvas是什么样式,你就加什么样式的背景)
具体实现如下:
cxt.fillStyle = "#fff";
cxt.fillRect(0, 0, canvas.width, canvas.height);
加完白色底色覆盖掉透明背景之后,就不会变成黑色了
3 回答1.4k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
5 回答1.9k 阅读
1 回答2.7k 阅读
1 回答1.6k 阅读✓ 已解决
将透明的pixel设成白色。