我正在使用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();
答案 0 :(得分:3)
如果你想压缩字符串,你可以尝试提到here之一的压缩算法,但是DataURL已经被相当压缩了,所以这不应该有太大区别。
另一种选择是使用toDataURL
的第二个参数来指定JPG的质量,这通常可以安全地降低,而不会对图像质量产生明显影响。
如果请求的类型是image / jpeg或image / webp,则第二个参数(如果介于0.0和1.0之间)被视为指示图像质量;如果第二个参数是其他参数,则使用图像质量的默认值。其他参数被忽略。