可以通过HTTP GET操作,对Object进行图片处理,并下载处理后的图片。
说明下面只给出各个接口的示例,具体使用可以参考示例代码。
单边固定缩略
可以对图片某一边(宽或高)进行固定到一个长度,另外一边按照比例进行调整。
参数
名称 描述 取值 w 指定目标缩略图的宽度。 整数形式,取值是[1, 4096],单位是像素(px)。 h 指定目标缩略图的高度。 整数形式,取值是[1, 4096],单位是像素(px)。 l 目标缩略图大于原图是否处理。 整数形式,取值:
0:处理。
1:不处理。
默认值是0。
注意对缩略后的图片的大小有限制,目标缩略图的宽与高的乘积不能超过4096 * 4096,而且单边的长度不能超过4096 * 4。
示例
- 将图缩略成高度为100,宽度按比例处理:/example.jpg@oosImage|100h。
- 将图缩略成宽度为100,高度按比例处理:/example.jpg@oosImage|100w。
- 将图缩略成宽度为500,高度按比例处理,如果目标缩略图大于原图不处理:/example.jpg@oosImage|500w_1l。
指定宽高缩略
可以对图片指定宽或高,按照长边短边进行调整。
参数
名称 描述 取值 w 指定目标缩略图的宽度。 整数形式,取值是[1, 4096],单位是像素(px)。 h 指定目标缩略图的高度。 整数形式,取值是[1, 4096],单位是像素(px)。 e 缩放优先边, 由于图片缩放过程中,原图尺寸与缩放尺寸不一定是相同比例,需要指定以长边还是短边优先进行缩放。
如原图200 * 400(比例1:2),需要缩放为100 * 100(比例1:1),长边优先时(e=0),缩放为50*100;短边优先时(e=1),缩放为100*200,若不特别指定,则代表长边优先。
取值:
0:按长边优先。
1:按短边优先。
默认值是0。
l 目标缩略图大于原图是否处理。 取值:
0:处理。
1:不处理。
默认值是0。
注意对缩略后的图片的大小有限制,目标缩略图的宽与高的乘积不能超过4096 * 4096, 而且单边的长度不能超过4096 * 4。
示例
- 将图缩略成宽度为100,高度为100,按长边优先:/example.jpg@oosImage|100h_100w_0e。
- 将图缩略成宽度为100,高度为100,按短边优先:/example.jpg@oosImage|100h_100w_1e。
强制宽高缩略
可以强制指定目标缩略图的高度和宽度,忽略原图的宽高比。注意这可能会导致图片变形。
参数
名称 描述 取值 w 指定目标缩略图的宽度。 整数形式,取值是[1, 4096],单位是像素(px)。 h 指定目标缩略图的高度。 整数形式,取值是[1, 4096],单位是像素(px)。 e 缩放优先边。如果是强制缩略,值是2。 强制缩略,取值为2。 l 目标缩略图大于原图是否处理。 整数形式,取值:
0:处理。
1:不处理。
默认值是0。
注意如果压缩后的图与原图比例不一致,压缩后的图会变形。
示例
将图强制缩略成宽度为100,高度为100:/example.jpg@oosImage|100h_100w_2e。
自动裁剪
自动裁剪表示图片先按短边缩略,然后从缩略的目标图片裁剪出中间部分得到对应指定高度和宽度的目标缩略图。
参数
名称 描述 取值 w 指定目标缩略图的宽度。 整数形式,取值是[1, 4096],单位是像素(px)。 h 指定目标缩略图的高度。 整数形式,取值是[1, 4096],单位是像素(px)。 e 缩放优先边,这里指定按短边优化。 整数形式,取值是1。 c 是否对图形进行自动裁剪。 整数形式,取值:
0:不对图进行自动裁剪。
1:对图进行自动裁剪。
默认值是0。
l 如果目标缩略图大于原图,是否处理。 整数形式,取值:
0:处理。
1:不处理。
默认值是0。
注意自动裁剪从按短边优先缩略的图中间进行裁剪,如果想从裁剪出图的左边部分或者右边部分。即不指定裁剪参数c,然后再利用管道实现。
示例
- 将图自动裁剪成宽度为100,高度为100的效果图:/example.jpg@oosImage|100h_100w_1e_1c。
- 将图片按短边裁剪然后,裁剪出左半部分:/example.jpg@oosImage|100h_100w_1e|0-0-100-100a。
按比例缩放
可以通过指定一个比例百分比参数,让图片按照指定的比例进行缩略或者放大。
参数
名称 描述 取值 p 倍数百分比。 整数形式,取值是[1, 1000]。
小于100,表示缩小。
等于100,表示不缩放。
大于100,表示放大。
注意
如果参数p跟w、h合用时,p将直接作用于w, h (乘以p%) 得到新的w、h, 如100w_100h_200p 的作用跟200w_200h 的效果是一样的。
如果对图片进行倍数放大,单边的最大长度不能超过4096 * 4 。
示例
- 将图按比例放大两倍:/example.jpg@oosImage|200p。
- 将图按比例缩略到原来的1/2:/example.jpg@oosImage|50p。
高级裁剪
可以通过指定起始横坐标,纵坐标及裁剪的宽度和裁剪的高度对图进行高级裁剪。
参数
名称 描述 取值 a 参数的类型:x-y-width-length
如:100-50-200-150a
一共四个参数,每个参数之间以“-”隔开。
第一个参数表示起始点x坐标(以左上角为原点)。
第二个参数表示起始点y坐标。
第三个参数表示要裁剪的宽度。
第四个参数表示要裁剪的高度。
如100-50-200-150a 表示从点(100, 50) 裁剪大小为(200, 150)的图片。
注意:可以将第三个参数,第四个参数置为0, 表示裁剪到图片的边缘。如100-50-0-0a 表示从点(100, 50) 裁剪到图片的最后。
width, height的为整数形式,取值是[1, 4096],单位是像素(px)。
注意
如果指定的起始横纵坐标大于原图,则返回错误信息,不返回原图。
如果从起点开始指定的宽度和高度超过了原图,将会直接裁剪到原图结尾。
示例
- 裁剪图从起点(100, 50)到图的结束:/example.jpg@oosImage|100-50-0-0a。
- 裁剪图从起点(100, 50)到裁剪100x100的大小:/example.jpg@oosImage|100-50-100-100a。
质量变换
如果图片保存成jpg, 可以支持质量变换。
参数
名称 | 描述 | 取值 |
---|---|---|
q | 决定jpg图片的quality,对原图按照q%进行quality压缩。 | 整数形式,取值是[1, 100],默认值是75。 |
注意如果不填q 这个参数,这样有可能会导致图片占用大小变大。
示例
将原图缩略成100w_100h,图片质量80%的jpg图:/example.jpg@oosImage|100w_100h_80q。
格式转换
可以将图片转换成对应格式(jpg、 png、webp、bmp)
参数
名称 | 描述 |
---|---|
jpg | 将原图保存成jpg格式,如果原图是png,webp, bmp存在透明通道,默认会把透明填充成黑色。如果想把透明填充成白色可以指定1wh参数 |
png | 将原图保存成png格式 |
webp | 将原图保存成webp格式 |
bmp | 将原图保存成bmp格式 |
注意
wh只有当原图是四通道(即有透明背景)的png, webp, bmp转换成jpg格式时才有效果。即把原图当中的透明背景以白色填充,如果不指定wh,那么上述图转换成jpg时,透明背景将会变成黑色。
保存成jpg格式时,默认保存成标准型的jpg(Baseline JPEG)。
示例
- 将png保存成jpg格式:/panda.png@oosImage|.jpg。
- 将png保存成jpg格式,透明的地方填充成白色:/panda.png@oosImage|1wh.jpg。
- 将jpg保存成高度为100, 宽度为100的png格式:/example.jpg@oosImage|100h_100w.png。
获取最基本信息和exif信息
可以通过@infoexif来获取获取文件的基本信息包括宽度,长度,文件大小,格式。并且如果文件有exif信息,就返回exif信息,如果没有exif信息,就只返回基本信息。返回结果是json格式。
示例
- 示例1:没有exif
/example.jpg@oosImage|infoexif
{
"FileSize": {"value": "21839"},
"Format": {"value": "jpg"},
"ImageHeight": {"value": "267"},
"ImageWidth": {"value": "400"}
}
• 示例2:有exif
/f.jpg@oosImage|infoexif
{
"DateTime": {"value": "2015:02:11 15:38:27"},
"FileSize": {"value": "23471"},
"Format": {"value": "jpg"},
"GPSLatitude": {"value": "0deg "},
"GPSLatitudeRef": {"value": "North"},
"GPSLongitude": {"value": "0deg "},
"GPSLongitudeRef": {"value": "East"},
"ImageHeight": {"value": "333"},
"ImageWidth": {"value": "424"},
"Orientation": {"value": "7"}
}