• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
可爱熊
熊爱可
博客园    首页    新随笔    联系   管理    订阅  订阅

图片压缩小方法

// canvas重绘图片
const resizeImage = (base64, scale, cb) => {
  const img = new Image();
  img.onload = () => {
    const {
          width,
          height
        } = img;
    const reWidth = width * scale,
      reHeight = height * scale;
    const canvas = document.createElement('canvas');
    canvas.width = reWidth;
    canvas.height = reHeight;
    const contxt = canvas.getContext('2d');
    contxt.drawImage(img, 0, 0, reWidth, reHeight);
    cb(contxt.canvas.toDataURL());
  }
  img.src = base64;
}
 
// blob转为base64
const blobToDataURL = (blob, callback) => {
  var a = new FileReader();
  a.onload = function (e) { callback(e.target.result); }
  a.readAsDataURL(blob);
}
 
 
// base64转为blob
const convertBase64UrlToBlob = (urlData) => {

  var bytes = window.atob(urlData.split(',')[1]);        //去掉url的头,并转换为byte

  //处理异常,将ascii码小于0的转换为大于0
  var ab = new ArrayBuffer(bytes.length);
  var ia = new Uint8Array(ab);
  for (var i = 0; i < bytes.length; i++) {
    ia[i] = bytes.charCodeAt(i);
  }

  return new Blob([ab], { type: 'image/png' });
}
是不是你的耳朵是圆的,我的话是方的,所以你听不进去呀。
posted @ 2017-12-18 09:53  熊小可  阅读(133)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3