高级图片处理

最近更新时间:2019-05-15 17:06:35

简介

imageMogr2 是腾讯云数据万象为开发者提供的简单而功能强大的高级图像处理接口,包括旋转、智能裁剪、获取 exif 信息、格式转换等功能。目前支持大小在20M以内、长宽小于9999像素的图片处理。

接口形式

注意:

请忽略以下内容中的空格与换行符。

download_url?imageMogr2/auto-orient
                       /strip
                       /sharpen/ <value>    
                       /thumbnail/<imageSizeAndOffsetGeometry>
                       /cut/<imageSizeAndOffsetGeometry>
                       /crop/<imageSizeAndOffsetGeometry>
                       /rotate/<rotateDegree>
                       /format/<Format>
                       /quality/<Quality>
                       /cgif/<FrameNumber>
                       /interlace/<Mode>
                       /blur/<radius>x<sigma>
                       /iradius/<radius>
                       /rquality/<quality>
                       /lquality/<quality>
                       /scrop/<Width>x<Height>

参数说明

参数 含义
download_url 文件的访问链接,具体构成为<bucket id>-<appid>.<picture region>.<domain>.com/<picture name>,如examples-1251000004.picsh.myqcloud.com/sample.jpeg
/auto-orient 根据原图的 exif 信息自动把图片旋转回正。
/strip 去除图片的元信息,包括 exif 信息。
/sharpen/<value> 图片锐化功能,value 为锐化参数值,取值范围为10-300间的整数。参数值越大,锐化效果越明显。推荐使用70。
/thumbnail/<imageSizeAndOffsetGeometry> 请参考如下 缩放操作参数表
/cut/<imageSizeAndOffsetGeometry> 请参考如下 裁剪操作表,缺省不裁剪 。
/crop/<imageSizeAndOffsetGeometry> 请参考如下 缩放裁剪操作参数表,缺省不裁剪。
/rotate/<rotateDegree> 图片旋转角度,取值范围0-360 ,默认不旋转 。
/format/<Format> 目标缩略图的图片格式,Format 可为:jpg , bmp , gif , png , webp , yjpeg 等,其中 yjpeg 为数据万象针对 jpeg 格式进行的优化,本质为 jpg 格式;缺省为原图格式。
/quality/<Quality> 图片质量,取值范围0-100 ,默认值为原图质量;取原图质量和指定质量的最小值;<Quality>后面加!,表示强制使用指定值,如:90 !
/cgif/<FrameNumber> 只针对原图为 gif 格式,对gif图片格式进行的优化,降帧降颜色。分为以下两种情况:FrameNumber=1,则按照默认帧数30处理,如果图片帧数大于该帧数则截取;FrameNumber 取值( 1,100 ],则将图片压缩到指定帧数 FrameNumber。
/interlace/<Mode> 输出为渐进式 jpg 格式。 Mode 可为 0 或 1,0 表示不开启渐进式;1表示开启渐进式。该参数仅在输出图片格式为 jpg 格式时有效。如果输出非 jpg 图片格式,会忽略该参数,默认值0。
/blur/<radius>x<sigma> 高斯模糊功能,radius 是模糊半径,取值范围为1-50。sigma 是正态分布的标准差,必须大于0。图片格式为 gif 时,不支持该参数。
/iradius/<radius> 内切圆裁剪功能,radius是内切圆的半径,取值范围为大于0、小于原图最小边一半的整数。内切圆的圆心为图片的中心。图片格式为gif时,不支持该参数。
/rquality/<quality> 图片的相对质量,取值范围0-100 ,数值以原图质量为标准,如原图质量为80,将 rquality 设置为80 后得到处理结果图的图片质量为64(80x80%)。
/lquality/<quality> 图片的最低质量,取值范围0-100 ,设置结果图的质量参数最小值。如原图质量为85,将lquality 设置为80 后处理结果图的图片质量为85;如原图质量为60,将 lquality 设置为80后处理结果图的图片质量会被提升至80。
/scrop/<Width>x<Height> 人脸智能裁剪功能,基于图片中的人脸位置进行缩放裁剪。目标图片的宽度为 Width、高度为 Height。

缩放操作参数

参数 含义
/thumbnail/!<Scale>p 指定图片的宽高为原图的 Scale%。
/thumbnail/!<Scale>px 指定图片的宽为原图的 Scale% ,高度不变。
/thumbnail/!x<Scale>p 指定图片的高为原图的 Scale% ,宽度不变。
/thumbnail/<Width>x 指定目标图片宽度为 Width ,高度等比压缩。
/thumbnail/x<Height> 指定目标图片高度为 Height ,宽度等比压缩。
/thumbnail/<Width>x<Height> 限定缩略图的宽度和高度的最大值分别为 Width 和 Height,进行等比缩放。
/thumbnail/!<Width>x<Height>r 限定缩略图的宽度和高度的最小值分别为 Width 和 Height,进行等比缩放 。
/thumbnail/<Width>x<Height>! 忽略原图宽高比例,指定图片宽度为 Width ,高度为 Height ,强行缩放图片,可能导致目标图片变形。
/thumbnail/<Area>@ 等比缩放图片,缩放后的图像,总像素数量不超过 Area。

裁剪操作参数

普通裁剪操作参数(cut)

参数 含义
/cut/<width>x<height>x<dx>x<dy> 指指定目标图片的宽高为 width 和 height。width、height 的取值应大于0,小于原图的宽、高。dx、dy 用于调整裁剪位置,具体为相对于图片左上顶点水平向右偏移 dx,同时垂直向下偏移 dy 后执行限定相应宽高的裁剪;dx、dy 的取值范围应大于0小于原图宽高。

缩放裁剪操作参数(crop)

参数 含义
/crop/<Width>x 指定目标图片宽度为 Width ,高度不变。Width 取值范围应大于0,小于原图宽度。
/crop/x<Height> 指定目标图片高度为 Height ,宽度不变。Height 取值范围应大于0,小于原图宽度。
/crop/<Width>x<Height> 指定目标图片宽度为 Width,高度为 Height 。Width 和 Height 取值范围都应大于0,小于原图宽度。

注意:

在进行缩放裁剪操作时,您也可以使用 gravity 参数指定操作的起点位置,详见下文中 缩放裁剪操作示例

示例

缩放操作

http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/!50p
http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/!50px
http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/!x50p
http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/200x
http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/200x400!
http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/thumbnail/35000@

裁剪操作

http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/cut/600x600x100x100

缩放裁剪操作

http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/crop/300x400
http://examples-1251000004.picsh.myqcloud.com/sample.jpeg?imageMogr2/crop/300x400/gravity/northeast 

锐化操作

http://snsimg-10000538.picsh.myqcloud.com/b994c449-ee08-4631-8c05-f5006adf47a4?imageMogr2/sharpen/1

高斯模糊操作

http://test-1252081001.picsh.myqcloud.com/2018-01-10/example.jpg?imageMogr2/blur/8x5

九宫格方位图

九宫格方位图可为图片的多种操作提供位置参考。红点为各区域位置的原点(通过 gravity 参数选定各区域后位移操作会以相应原点为参照)。

注意:

  • 当 gravity 参数设置为 center 时,dx、dy 参数无效。
  • 当 gravity 参数设置为 north 或 south 时,dx 参数无效(水印会水平居中)。
  • 当 gravity 参数设置为 west 或 east 时,dy 参数无效(水印会垂直居中)。