阿里云oss图片的常用处理方法小结

13 篇文章 0 订阅
5 篇文章 0 订阅

代码转格式,缩略图

HTMLCanvasElement.toDataURL() 方法返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。图片的分辨率为96dpi。

如果传入的类型非“image/png”,但是返回的值以“data:image/png”开头,那么该传入的类型是不支持的。
canvas.toDataURL(type, encoderOptions);
在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。

?x-oss-process=image/format,webp
const isWebp = () => {
  try {
    return (
      document
        .createElement('canvas')
        .toDataURL('image/webp')
        .indexOf('data:image/webp') === 0
    )
  } catch (err) {
    return false
  }
}

oss图片缩放 resize

图片格式只能是:jpg、png、bmp、gif、webp、tiff。

文件大小不能超过 20MB。
使用图片旋转时图片的宽或者高不能超过 4096。
原图单边大小不能超过30,000。

oss图片处理官方文档链接
imgUrl + ?x-oss-process=image/resize, 后边参数用逗号隔开

  1. 指定宽高缩放 m
    在这里插入图片描述
    通俗点就是说,
    1、如果你设定的新尺寸宽高都设了并且比例和原图不一样,lfit,mfit等比例,都只满足一条边刚好符合,另一条lfit会小于你设定的,mfit会大于你设定的;fill,pad,fixed强制新图为你设定尺寸,fill会居中裁剪,pad指图像是按比例的,小于图片部分填充【默认白色】,fixed直接变形成你要的尺寸;
    2、如果你设定的新尺寸宽高只设定了一个;pad,fill会默认你另一个尺寸和设定的一样,进行变换,同上,其他只有一个值就是按比例缩放,长一样
    例子:http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_lfit,h_100,w_100

  2. 按比例缩放 p
    取值范围1-1000,用法p_50,即缩放为原图的50%;
    例子:http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,q_50

格式转换

可转格式同缩放,但文档说gif 格式保存成 gif 格式,非 gif 格式是按原图格式保存。我觉得翻译过来也就是说非gif是不能强求变成这种格式的,那也就是不能转呗

例子:http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.gif?x-oss-process=image/resize,w_200/format,webp

转成JPG的时候可以对图片的显示进行控制【interlace】

interlace
1、普通版,自上而下的扫描式 【取值0】
2、先模糊后逐渐清晰(在网络环境比较差时明显) 【取值1】
?x-oss-process=image/format,jpg/interlace,1

成 jpg 或 webp可以质量变换【quality,取值1-100,指百分比】

1、q 决定图片的相对质量,对原图按照 q% 进行质量压缩;原图质量*q
2、Q 把原图质量压到Q%;100%*Q
?x-oss-process=image/resize,w_100,h_100/quality,Q_80

获取图片信息

?x-oss-process=image/info

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值