为什么在drawImage之后toDataURL不压缩?

时间:2020-02-29 11:18:29

标签: javascript compression drawimage todataurl

我正在尝试本地压缩从用户PC上传的图像,然后再将其上传到Firebase存储。除了实际的压缩以外,其他所有功能均有效。我尝试使用

运行代码

var data = canvas.toDataURL("image/jpg", 0.10);

var data = canvas.toDataURL("image/jpg");

查看是否会有任何不同,但是文件大小相同。这是完整的代码:

$('#coverPageInput').change(function() {

  // Get file
  var imgFile = document.getElementById('coverPageInput');
  var img = imgFile.files[0];



  var image = new Image();
  var canvas = document.createElement('canvas');
  var ctx = canvas.getContext("2d");


  image.onload = function() {

    // Draw new image
    ctx.canvas.width = image.width;
    ctx.canvas.height = image.height;
    ctx.drawImage(image, 0, 0);
    var data = canvas.toDataURL("image/jpg", 0.10);



    // Get file size
    var dataWithoutMime = data.split(",")[1];
    var imgSize = window.atob(dataWithoutMime).length;
    console.log(imgSize);



    // Render image
    var result_image_obj = new Image();
    result_image_obj.onload = function() {
      document.body.appendChild(result_image_obj);
    }
    result_image_obj.src = data;

  }


  image.src = window.URL.createObjectURL(img);
});

0 个答案:

没有答案
相关问题