目前我的网站允许用户保存画布图像,但问题是它需要很长时间。我将画布图像作为 base64 发送到我的 php,它对其进行解码并将其作为 png 图像保存在我的服务器上。另外,我读过 base64 解码将图像大小增加了 30%。有没有更好的方法可以花费更少的时间来保存画布图像?
问问题
1031 次
2 回答
5
您可以通过将 jpg 指定为图像编码格式来减小 base64 的大小(因此上传时间):
canvas.toDataURL('image/jpeg', 0.8);
您可以进一步降低 jpeg 质量(从 0.0 => 质量差到 1.0 -> 质量好)。
于 2013-04-16T08:12:50.803 回答
0
我在我的一个项目中遇到了类似的速度问题,无法弄清楚如何解决这个问题,嘿,皮埃尔,您提供的解决方案大大减少了图像数据的大小,但同时您将在保存的图像上遇到问题从这个数据。我做了同样的事情,当我尝试保存具有透明背景的 png 图像时,我得到了意想不到的图像,有些变成了黑色。所以我坚持不使用canvas.toDataURL('image/jpeg', 0.8);
并仍在寻找其他替代品。
于 2013-05-03T17:12:39.313 回答