图片高级处理
imageMogr2
注意: 请忽略以下内容中的空格与换行符。
imageMogr2/auto-orient
参数说明
| Item | Value | Description | Optional |
|---|---|---|---|
| /auto-orient | 无 | 建议放在首位,根据原图 EXIF 信息自动旋正,便于后续处理。 | O |
| /thumbnail/ | - | 参考 thumbnail 说明 | O |
| /gravity/ | - | 参考 gravity 说明 | O |
| /crop/ | - | 参考 crop 说明 | O |
| /rotate/ | 取值范围为 1-360,默认为不旋转 | 图片旋转角度 | O |
| /format/ | 支持 jpg、gif、png、webp 等,默认为原图格式 | 新图的输出格式 | O |
| /blur/x | radius 是模糊半径,取值范围为 1-50。sigma 是正态分布的标准差,必须大于 0。 | 高斯模糊参数 | O |
| /background/ | - | 背景填充颜色,参考 color 说明 | O |
| /quality/ | 取值范围 1-100, 默认值 75 | 新图的输出质量 | O |
| /sharpen/ | 锐化参数值,取值范围为 10-300 间的整数。参数值越大,锐化效果越明显。 | 图片是否锐化 | O |
| /roundpic/x | 水平和垂直的值相同, 则可以写成类似/roundpic/200 这样, 否则/roundpic/200x300。 支持/roundpic/!50p 和/roundpic/50p 这种形式, 意思是原图的宽和高的 50%作为 radiusX 和 radiusY 值。 | 圆角大小的参数 | O |
| /iradius/ | radius 是内切圆的半径,取值范围为大于 0、小于原图最小边一半的整数。内切圆的圆心为图片的中心。图片格式为 gif 时,不支持该参数。 | 内切圆裁剪功能 | O |
thumbnail 说明
| Item | Description |
|---|---|
| /thumbnail/! | 指定图片的宽高为原图的 Scale%。 |
| /thumbnail/! | 指定图片的宽为原图的 Scale% ,高度不变。 |
| /thumbnail/!x | 指定图片的高为原图的 Scale% ,宽度不变。 |
| /thumbnail/ | 指定目标图片宽度为 Width ,高度等比压缩。 |
| /thumbnail/x | 指定目标图片高度为 Height ,宽度等比压缩。 |
| /thumbnail/ | 限定缩略图的宽度和高度的最大值分别为 Width 和 Height,进行等比缩放。 |
| /thumbnail/! | 限定缩略图的宽度和高度的最小值分别为 Width 和 Height,进行等比缩放 。 |
| /thumbnail/ | 忽略原图宽高比例,指定图片宽度为 Width ,高度为 Height ,强行缩放图片,可能导致目标图片变形。 |
| /thumbnail/@ | 等比缩放图片,缩放后的图像,总像素数量不超过 Area。 |
gravity 说明
图片处理重心参数表 在图片高级处理现有的功能中只影响其后的裁剪操作参数表,即裁剪操作以 gravity 为原点开始偏移后,进行裁剪操作。
crop 说明
裁剪操作参数表 (cropsize)
| 参数名称 | 必填 | 说明 |
|---|---|---|
| /crop/ | 指定目标图片宽度,高度不变。取值范围为 0-10000。 | |
| /crop/x | 指定目标图片高度,宽度不变。取值范围为 0-10000。 | |
| /crop/ | 同时指定目标图片宽高。取值范围为 0-10000。 |
裁剪偏移参数表 (cropoffset)
| 参数名称 | 必填 | 说明 |
|---|---|---|
| /crop/!{cropsize}a | 相对于偏移锚点,向右偏移 dx 个像素,同时向下偏移 dy 个像素。取值范围不限,小于原图宽高即可。 | |
| /crop/!{cropsize}- | 相对于偏移锚点,从指定宽度中减去 dx 个像素,同时向下偏移 dy 个像素。取值范围不限,小于原图宽高即可。 | |
| /crop/!{cropsize}a | 相对于偏移锚点,向右偏移 dx 个像素,同时从指定高度中减去 dy 个像素。取值范围不限,小于原图宽高即可。 | |
| /crop/!{cropsize}- | 相对于偏移锚点,从指定宽度中减去 dx 个像素,同时从指定高度中减去 dy 个像素。取值范围不限,小于原图宽高即可。 |
color 说明
可以是颜色名称(比如 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)。
示例
缩略图
- 等比缩小 75%
POST /api/v1?imageMogr2/thumbnail/!75p

- 按原宽度 75%等比缩小, 高度不变。
POST /api/v1?imageMogr2/thumbnail/!75px
- 按原高度 75%等比缩小, 宽度不变。
POST /api/v1?imageMogr2/thumbnail/!x75p
- 指定新宽度 1536px, 等比缩放。
POST /api/v1?imageMogr2/thumbnail/1536x

- 指定新高度 1152px, 等比缩放。
POST /api/v1?imageMogr2/thumbnail/x1152

- 限定长边, 生成不超过 400x400 的缩略图
POST /api/v1?imageMogr2/thumbnail/400x400

- 限定短边, 生成不小于 400x400 的缩略图
POST /api/v1?imageMogr2/thumbnail/!400x400r

- 强制生成 400x600 的图
POST /api/v1?imageMogr2/thumbnail/400x600 !

- 原图大于指定长宽矩形, 按宽缩放比和高缩放比的较大值进行缩放成 400x300。
POST /api/v1?imageMogr2/thumbnail/400x600>

- 原图小于指定长宽矩形, 按宽缩放比和高缩放比的较小值缩放成 1467x1100。
POST /api/v1?imageMogr2/thumbnail/1500x1100<

- 按原图高宽比例等比缩放, 缩放后的像素数量不超过 900000。
POST /api/v1?imageMogr2/thumbnail/900000@

裁剪
- 生成 400x768 裁剪图
POST /api/v1?imageMogr2/crop/400x

- 生成 1024x400 的裁剪图
POST /api/v1?imageMogr2/crop/x400

- 生成 400x400 的裁剪图
POST /api/v1?imageMogr2/crop/400x400

- 生成 300x300 裁剪图, 偏移距离 30x100
POST /api/v1?imageMogr2/crop/!400x400a30a100

- 生成 400x300 裁剪图, 偏移距离 30x0
POST /api/v1?imageMogr2/crop/!400x400a30-100

- 生成 370*400 裁剪图,偏移距离 0x100
POST /api/v1?imageMogr2/crop/!400x400-30a100

- 生成 370x300 裁剪图, 偏移距离 0x0
POST /api/v1?imageMogr2/crop/!400x400-30-100

- 锚点在左上角(northwest), 生成 300x300 裁剪图
POST /api/v1?imageMogr2/gravity/northwest/crop/400x400

- 锚点在正上方(north), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/north/crop/400x400

- 锚点在右上方(northeast), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/northeast/crop/400x400

- 锚点在正左方(west), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/west/crop/400x400

- 锚点在正中(center), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/center/crop/400x400

- 锚点在正右方 (east), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/east/crop/400x400

- 锚点在左下方 (southwest), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/southwest/crop/400x400

- 锚点在正下方 (south), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/south/crop/400x400

- 锚点在右下方 (southeast), 生成 400x400 裁剪图
POST /api/v1?imageMogr2/gravity/southeast/crop/400x400

旋转
- 顺时针旋转 45 度
POST /api/v1?imageMogr2/rotate/45

- 旋转并添加背景色,裁剪以及高斯模糊,输出质量为 80%
POST /api/v1?imageMogr2/auto-orient/thumbnail/!256x256r/background/b3Jhbmdl/gravity/center/crop/256x256/blur/3x9/quality/80/rotate/45

高斯模糊
- 半径为 5, sigma 值为 9。
POST /api/v1?imageMogr2/blur/5x9

椭圆圆角
- 水平方向和垂直方向都为 300 像素
POST /api/v1?imageMogr2/roundpic/300

- 水平方向为 300px, 垂直方向为 400px
POST /api/v1?imageMogr2/roundpic/300x400

- 水平方向和垂直方向都为原图片的 30%大小
POST /api/v1?imageMogr2/roundpic/!30p

中心原图
- 中心原图半径为 300px
POST /api/v1?imageMogr2/iradius/300

- 中心原图直径为原宽高最小值的 60%
POST /api/v1?imageMogr2/iradius/!60p
