当我使用将 JPEG 图像绘制到 CanvasdrawImage()时,然后使用canvas.toDataURL()使其可保存在本地(用鼠标右键单击),则保存的 Jpeg 图像的文件大小减少了约 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)
Run Code Online (Sandbox Code Playgroud)
我不知道问题是什么?