Javascript Kineticjs导出为jpeg用白色填充透明像素?
我想导出我的Kineticjs舞台:Javascript Kineticjs导出为jpeg用白色填充透明像素?,javascript,html,image,canvas,kineticjs,Javascript,Html,Image,Canvas,Kineticjs,我想导出我的Kineticjs舞台: stage.toDataURL({ mimeType : "image/jpeg", callback : function() {} }); 当我导出此文件时: 导出后,我得到以下图像: 所有透明像素都设置为黑色 如何在导出之前将所有透明像素设置为白色?问题 这是因为在KineticJS阶段,背景是透明的:rgba(0,0,0,0) rgba中的最后一个零是alpha==不透明度 但是jpeg不允许不同的不透明性。它只允许纯色 因此,当您使
stage.toDataURL({
mimeType : "image/jpeg",
callback : function() {}
});
当我导出此文件时:
导出后,我得到以下图像:
所有透明像素都设置为黑色
如何在导出之前将所有透明像素设置为白色?问题 这是因为在KineticJS阶段,背景是透明的:rgba(0,0,0,0) rgba中的最后一个零是alpha==不透明度 但是jpeg不允许不同的不透明性。它只允许纯色 因此,当您使用toDataURL保存阶段时,jpeg将使背景不透明度为纯色==rgba(0,0,0,1) 因此,在保存jpeg时,透明像素始终写为黑色 解决方案 添加一个用白色(或其他颜色)填充舞台的背景矩形,以便jpeg知道背景像素使用哪种颜色
演示:你能为你的想法举个例子吗?
rgba(0,0,0,1) is black.