解決方案一:將透明的pixel設成白色
因為png圖片的背景都是透明的,所以我們可以尋找透明的pixel,然后將其全部設置成白色,核心代碼如下:
JavaScript Code復制內容到剪貼板
// 將canvas的透明背景設置成白色
var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
for(var i = 0; i < imageData.data.length; i += 4) {
// 當該像素是透明的,則設置成白色
if(imageData.data[i + 3] == 0) {
imageData.data[i] = 255;
imageData.data[i + 1] = 255;
imageData.data[i + 2] = 255;
imageData.data[i + 3] = 255;
}
}
context.putImageData(imageData, 0, 0);
其他方法見https://m.aliyun.com/jiaocheng/646601.html