使用Javascript减少base64图像内存大小

时间:2013-03-07 08:55:41

标签: javascript jquery image base64

我正在使用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();

1 个答案:

答案 0 :(得分:3)

如果你想压缩字符串,你可以尝试提到here之一的压缩算法,但是DataURL已经被相当压缩了,所以这不应该有太大区别。

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

  

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