美文网首页
图片尺寸比例和大小校验

图片尺寸比例和大小校验

作者: 芸芸众生ing | 来源:发表于2023-12-13 11:56 被阅读0次
function getImageFileInfo(file) {
  return new Promise((resolve, reject) => {
    let reader = new FileReader();
    reader.onerror = (e) => {
      console.error('读取异常')
      reject(false)
    }
    reader.onloadend = (e) => {
      let image = new Image();
      image.src = e.target.result;
      image.onload = () => resolve([image, e.target.result])
    }
    reader.readAsDataURL(file);
  })
}
function getImageSizeCheck(image, option) {
  function gcd(a, b) {
    if (b == 0) return a;
    return gcd(b, a % b)
  }
  const { width = 1920, height = 1080, size = 10240, ratio = 0.15 } = option || {};
  const { width: w, height: h, size: s } = image;
  const imgRatio = w / h; // 图片尺寸比例
  const optRatio = width / height; // 预设尺寸比例 
  let msg = '';
  if (size < s) msg = `图片需小于${size}KB,`;
  if (imgRatio > optRatio + ratio && imgRatio < optRatio - ratio) msg += `图片尺寸需符合${w}*${h}或${w / gys(w, h)}:${h / gys(w, h)}比例`;
  if (msg) throw new Error(msg);
  return true;
}
function gys(...args) {
  const [item, ...rest] = args;
  if (rest.length < 1) return a;
  if (rest.length === 1) {
    let a = item, b = rest[0];
    while (a > 0 && b > 0 && a != b) {
      if (a > b) a -= b;
      else b -= a;
    }
    return a
  }
  return gys(item, gys(...rest))
}
const [image, img] = await getImageFileInfo(file);
getImageSizeCheck(image, { size: 1024, width: 1920, height: 1080 })

相关文章

  • 前端校验图片尺寸大小

    这篇文章主要记录最近实习工作中遇到的前端检查图片尺寸的问题,在这个过程明白的一些道理。 我由于目前的水平有限,只能...

  • ReactNative各种样式设置的属性

    一、ImageView 1、设置图片的显示方式 决定当组件尺寸和图片尺寸不成比例的时候如何调整图片的大小。 cov...

  • 压缩并用 Alamofire 上传多张图片

    附:压缩图片尺寸并压缩图片大小

  • element upload图片上传尺寸限制

    图片比例限制 使用的是element的图片上传功能,需要对图片 比例 和 尺寸 进行校验. 封装以下方法. 使用

  • Android图片压缩

    一.质量压缩 二.按比例大小压缩(根据Bitmap路径) 三.组合质量和按比例大小压缩(根据Bitmap压缩)

  • 根据图片url获取图片尺寸

    // 根据图片url获取图片尺寸 // 获取PNG图片的大小 // 获取gif图片的大小 // 获取jpg图...

  • 怎样改图片尺寸大小和格式?

    举个例子,假如你要上传的证件照是用手机拍的,格式是JPG,大小为4Mb,尺寸为400×600但是需要上传证件照要求...

  • vue(2019/7/15)

    vue实现照片选择或者拍照功能 照片格式校验, 图片质量压缩, 图片尺寸压缩, 图片离线保存, 图片base64编...

  • 如何在线改图片尺寸和大小?

    我们在网上报名参加考试或是往简历上添加1寸照片时,需要裁剪到合适的尺寸,对非专业设计人员,一般不会使用photos...

  • TextView字体自动适应宽度

    原理 布局完成后,根据当前字体大小和已绘制的宽度与TextView的宽度的比例调整字体相应的比例。调整后字体大小 ...

网友评论

      本文标题:图片尺寸比例和大小校验

      本文链接:https://www.haomeiwen.com/subject/qqmbgdtx.html