对象存储

图片缩放

2026-01-22 02:34:32

本文帮助您了解图片缩放。

操作场景

ZOS支持图片缩放,您可以通过图片缩放参数,对图片进行指定高与宽缩放和百分比缩放。

约束与限制

        支持的原图格式:JPG、PNG、GIF、WebP、TIFF。GIF动图只支持指定高与宽缩放,不支持百分比缩放。

        原图大小不能超过20MB。宽或高不能超过30,000 px,且总像素不能超过2.5亿 px。

        缩放图在百分比缩放模式下宽或高不能超过16,384 px,且总像素不能超过16,777,216 px。指定高与宽缩放的模式下,宽或高不能超过4,096 px。

说明

动态图片(例如GIF图片)的像素计算方式为宽*高*图片帧数;非动态图片(例如PNG图片)的像素计算方式为宽*高。

参数说明

操作符:resize

指定高与宽缩放

参数名称

参数用途

取值

是否必须

w

指定目标缩放图宽度

[1,4096]

h

指定目标缩放图高度

[1,4096]

m

指定缩放模式

• lfit(默认值):等比缩放,目标缩放图为指定w和h矩形框内的最大图形
• mfit:等比缩放,目标缩放图为延伸出指定w和h矩形框外的最小图形
• fill:将原图等比缩放为延伸出指定w与h的矩形框外的最小图片,之后将超出的部分进行居中裁剪
• pad:将原图等比缩放为指定w和h矩形框内最大的图形,然后使用color指定的颜色将矩形框内剩余部分进行填充
• fixed:固定宽高,强制缩放

color

缩放模式为pad时,指定填充颜色

RGB颜色值,默认FFFFFF(白色)

否(仅当m为pad模式时使用)

limit

指定目标缩放图大于原图时是否缩放

• 1(默认):目标缩放图大于原图时返回原图
0:按指定参数缩放。
GIF格式的图片只支持缩小,不支持放大


示例

原图大小为400 px*200 px。设置w=300 px,h=160 px,使用不同的缩放模式进行缩放,结果如下:

        m_fixed

image/resize,w_300,h_160,m_fixed:fixed会将图片按照指定的宽高进行缩放,原图为400 px*200 px,缩放后为300 px*160 px,会导致原图缩放后,比例被拉高。

        pad

image/resize,w_300,h_160,m_pad:pad模式会先将图片等比缩放至指定的宽高限制下的矩形内最大图片,当前比例为300 px *150 px,剩余h会将缩放后的图片居中,其余部分填充白色背景,因此会生成一个300 px *160 px的缩放图,但是h=(0,5)和h=(155,160)两部分区域为白色背景。

        fill

image/resize,w_300,h_160,m_fill:fill模式会将图片等比缩放为延伸出指定宽和高的矩形外的最小图片,即大小为320 px *160 px。而后将图片居中,并将两侧裁剪,最终w=(0,10)和w=(310,320)两部分会被裁剪,形成300 px *160 px的图片。

        mfit

image/resize,w_300,h_160,m_mfit:mfit模式为按照原图比例进行缩放,根据延伸出指定宽高计算矩形外的最小图片,即320 px *160 px的图片,作为缩放的结果。

        lfit

image/resize,w_300,h_160,m_lfit:lfit模式与mfit相对应,lfit会计算出,缩放指定的宽高的矩形内的最大矩形,即300 px *150 px大小,形成最终缩放图。

百分比缩放

参数名称

参数用途

取值

是否必须

p

按百分比进行缩放

[1,1000]

小于100缩小,大于100放大

常见问题

1.      按照高与宽缩放时,指定大小大于原图时,不生效?
答:需要指定limit参数为0,若limit指定为1,且指定的w和h只有一侧大于原图,则大于原图的那一侧会取原图的长度。

2.      按照w和h缩放,没有根据预想的w和h值进行缩放?
答:参考缩放类型,可通过fixed模式强制缩放值指定的宽高。

3.      指定p缩放时不生效?
答:可能是同时指定了w和h和p的原因,当同时指定了宽高缩放和百分比缩放的参数时,以宽高为准。



XRxupdVmPsv6