1

我正在使用 canvas.toDataURL() 并以 base64 格式获取图像。但是在将它上传到服务器之前,我可以将图像的内存大小减少到 10KB 吗?如何使用 JavaScript 或 jquery 做到这一点?我使用的代码是:

var context = canvas.getContext("2d");
context.drawImage(imageObj, c.x, c.y, c.w, c.h, 0, 0, canvas.width, canvas.height);
var vData = canvas.toDataURL();
4

1 回答 1

3

如果你想压缩字符串,你可以尝试这里提到的一种压缩算法,但是 DataURL 已经被相当压缩了,所以这应该没什么区别。

另一种选择是使用toDataURL指定 JPG 质量的第二个参数,该参数通常可以安全地降低,而不会对图像质量产生明显影响。

如果请求的类型是image/jpeg或image/webp,那么第二个参数,如果它在0.0和1.0之间,则视为表示图像质量;如果第二个参数是其他参数,则使用图像质量的默认值。其他参数被忽略。

于 2013-03-07T08:59:50.520 回答