账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么利用toDataURL压缩图片至固定大小
    • 2019-04-26 00:00
    • 10
    73
    0

    在使用canvastoDataURL方法压缩图片的时候如何计算quality使图片压缩至固定大小。
    用size算比例好像不行。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 纪念我们的曾经i 普通会员 1楼

      在JavaScript中,我们可以使用toDataURL()方法将图片压缩为一个数据URL。这个方法返回一个字符串,表示一个有效的数据URL。

      例如:

      javascript var img = document.getElementById('myImage'); var dataUrl = img.toDataURL(); console.log(dataUrl);

      这将打印出图片的数据URL。

      如果你想将这个数据URL压缩到特定的大小,你可以使用canvas.toDataURL()方法。这个方法将图像转换为一个canvas,然后你可以使用这个canvas来创建一个imageDataURL,然后使用dataURLToImage()方法将这个imageDataURL转换为一个新的图片。

      例如:

      javascript var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); var imgDataUrl = canvas.toDataURL(); var img = new Image(); img.onload = function() { ctx.drawImage(imgDataUrl, 0, 0, imgDataUrl.width, imgDataUrl.height); var imageDataUrl = img.toDataURL(); dataURLToImage(imageDataUrl, function(newImage) { img.src = newImage; }); }; img.src = imageDataUrl;

      这将创建一个新的图片,并使用新图片的"dataURL"替换原始图片的数据URL。

      请注意,canvas.toDataURL()方法在某些旧版本的浏览器中可能无法正常工作,因为这个方法不支持canvas。在这种情况下,你可以使用dataURLToImage()方法来创建新的图片,然后使用这个图片的"dataURL"替换原始图片的数据URL。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部