当我使用以下命令将 JPEG 图像绘制到 Canvas 时drawImage()
之后,使用canvas.toDataURL()
使其可保存在本地(用鼠标右键单击),则保存的 Jpeg-Image 的文件大小会减少约 40%。仅当使用 Jpeg 时才如此。 PNG、GIF(非压缩文件)会增大尺寸。我想,如果我将图像文件转换为 Base64,大小会增加约 130%。所以我认为画布元素有自己的集成压缩功能?如果是这样,我可以停用它吗?
代码如下所示:
var img = new Image();
img.onload = function ()
{
var width = img.width;
var height = img.height;
context.drawImage(img, 0, 0,width,height);
document.images[0].src = canvas.toDataURL('image/jpeg');//<-size = 30,2 KB (30.990 Bytes)
}
img.src = "http://www.roomeffect.de/pageslices/RSB.jpg"; //<-original file size = 58,5 KB (59.930 Bytes)
我不知道问题是什么?
您可以将 JPEG 质量指定为 toDataURL 函数的第二个参数。 Firefox 中的默认质量为 0.92 (92%)。
https://developer.mozilla.org/en/DOM/HTMLCanvasElement https://developer.mozilla.org/en/DOM/HTMLCanvasElement
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)