imageMogr2 提供一系列高级图片处理功能,包括格式转换、缩放、裁剪、旋转等。imageMogr2 接口可支持处理的原图片格式有 psd、jpeg、png、gif、webp、tiff、bmp。(webp不支持动图)
注意
imageMogr2 接口支持的最大 gif 帧数为 200,超过 200,处理结果只返回原图。
输出为gif的处理一般处理时间比较长,建议优先使用异步处理。
接口规格
注意: 接口规格不含任何空格与换行符。
imageMogr2/auto-orient
/thumbnail/
/strip
/gravity/
/crop/
/rotate/
/format/
/blur/x
/interlace/
/background/
/quality/
/sharpen/
/size-limit/
/ignore-error/参数名称
必填
说明
auto-orient
建议放在首位,根据原图EXIF信息自动旋正,便于后续处理。
thumbnail
参看缩放操作参数表,默认为不缩放。
strip
去除图片中的元信息。去除的信息有:bKGD、cHRM、EXIF、gAMA、iCCP、iTXt、sRGB、tEXt、zCCP、zTXt、date
gravity
参看图片处理重心参数表,目前在imageMogr2中只影响其后的裁剪偏移参数,默认为左上角(NorthWest)。
crop
参看裁剪操作参数表,默认为不裁剪。
rotate
旋转角度,取值范围为1-360,默认为不旋转。
format
图片格式。支持jpg、gif、png、webp等,默认为原图格式,参看支持输出的图片格式。
blur
高斯模糊参数。radius是模糊半径,取值范围为1-50。sigma是正态分布的标准差,必须大于0。图片格式为gif时,不支持该参数。
interlace
是否支持渐进显示。取值1支持渐进显示,取值0不支持渐进显示(默认为0)。适用jpg目标格式,网速慢时,图片显示由模糊到清晰。
background
背景填充颜色,可以是颜色名称(比如red)或十六进制颜色(比如#FF0000)的URL安全的Base64编码。我们支持的颜色名称有transparent(#00000000)、none(#00000000)、white(#FFFFFF)、black(#000000)、red(#FF0000)、orange(#FFA500)、yellow(#FFFF00)、green(#008000)、blue(#0000FF)、purple(#800080)、gray(#7E7E7E)、pink(#FFC0CB),其中none与transparent均为透明背景色,另外十六进制颜色不区分大小写,具体颜色请参考颜色编码表。缺省背景色为white(#FFFFFF)。
quality
新图的图片质量。取值范围为1-100,默认75。七牛会根据原图质量算出一个修正值,取修正值和指定值中的小值。
注意:
1.指定值后面可以增加 !,表示强制使用指定值,如:100!。
2.支持图片类型:jpg。
sharpen
图片是否锐化,当设置值为1时打开锐化效果。
size-limit
限制图片转换后的大小,支持以兆字节和千字节为单位的图片。
1.仅对于jpg格式的图片,可以用于限制图片转换后的大小,支持魔法变量$(fsize)表示原图大小。如:http://developer.qiniu.com/resource/Ship.jpg?imageMogr2/size-limit/$(fsize)。
2.对于所有图片格式,若在尾部加上!,表示用转换后的图片大小与原图大小做比较,如果转换后的图片比原图小,则返回转换后的图片,否则返回原图。如:http://developer.qiniu.com/resource/Ship.jpg?imageMogr2/size-limit/15k!。这个主要用于保证返回的图片不会比原图大。
注意: 需要根据图片实际大小设置合理的sizeLimit大小。
ignore-error
取值为 1 时,则处理失败时返回原图;取值为 0 时,则处理失败时返回错误信息。默认值为 0。
修正值算法:
原图quality <= 90: min[90, 原图quality*sqrt(原图长宽乘积/结果图片长宽乘积)]
原图quality > 90: 原图quality*sqrt(原图长宽乘积/结果图片长宽乘积)
注意:
处理后的图片w和h参数不能超过9999像素,总像素不得超过24999999(2500w-1)像素。
处理前的图片w和h参数不能超过3万像素,总像素不能超过 2 亿像素。
缩放操作参数表
参数名称
必填
说明
/thumbnail/!p
基于原图的长宽,按指定百分比缩放。Scale取值范围1-999。
/thumbnail/!px
以百分比形式指定目标图片宽度,高度不变。Scale取值范围1-999。
/thumbnail/!xp
以百分比形式指定目标图片高度,宽度不变。Scale取值范围1-999。
/thumbnail/x
指定目标图片宽度,高度等比缩放,Width取值范围1-9999。
/thumbnail/x
指定目标图片高度,宽度等比缩放,Height取值范围1-9999。
/thumbnail/x
等比缩放,比例值为宽缩放比和高缩放比的较小值,Width 和 Height 取值范围1-9999。
注意: 宽缩放比:目标宽/原图宽 高缩放比:目标高/原图高
/thumbnail/!xr
等比缩放,比例值为宽缩放比和高缩放比的较大值,Width 和 Height 取值范围1-9999。
注意: 宽缩放比:目标宽/原图宽 高缩放比:目标高/原图高
/thumbnail/x!
按指定宽高值强行缩略,可能导致目标图片变形,width和height取值范围1-9999。
/thumbnail/x>
等比缩小,比例值为宽缩放比和高缩放比的较小值。如果目标宽和高都大于原图宽和高,则不变,Width 和 Height 取值范围1-9999。
注意: 宽缩放比:目标宽/原图宽 高缩放比:目标高/原图高;
/thumbnail/x<
等比放大,比例值为宽缩放比和高缩放比的较小值。如果目标宽(高)小于原图宽(高),则不变,Width 和 Height 取值范围1-9999。
注意: 宽缩放比:目标宽/原图宽 高缩放比:目标高/原图高;
/thumbnail/@
按原图高宽比例等比缩放,缩放后的像素数量不超过指定值,Area取值范围1-24999999。
注意:
处理后的图片 Width 和