# 图片(格式转换、缩略、剪裁)如何处理?
为了加快图片的下载,很多生产环境都会选择cdn或者oss来存储图片。 下面我们主要介绍阿里云oss和七牛云对图片提供的一些常用API
# 七牛云API (opens new window)
imageView2 提供简单快捷的图片格式转换、缩略、剪裁功能。只需要填写几个参数,即可对图片进行缩略操作,生成各种缩略图。imageView2接口可支持处理的原图片格式有psd、jpeg、png、gif、webp、tiff、bmp。(webp不支持动图)
# 常用的图片处理参数
原图:http://dn-odum9helk.qbox.me/resource/gogopher.jpg
1.自动压缩 http://dn-odum9helk.qbox.me/resource/gogopher.jpg?imageslim
2.渐进图 http://dn-odum9helk.qbox.me/resource/gogopher.jpg?imageView2/1/w/200/h/200/interlace/1
2.剪裁正中部分,等比缩小生成200*200缩略图 http://dn-odum9helk.qbox.me/resource/gogopher.jpg?imageView2/1/w/200/h/200
3.宽度固定为200px,高度等比缩小,比例不变形 http://dn-odum9helk.qbox.me/resource/gogopher.jpg?imageView2/2/w/200
4.高度固定为200px,宽度等比缩小,比例不变形 http://dn-odum9helk.qbox.me/resource/gogopher.jpg?imageView2/2/h/200
5.持久化
#另存操作的目标空间与资源名
entryURI = "qiniu-developer:Ship-thumb-200.jpg"
#编码结果
encodedEntryURI = "cWluaXUtZGV2ZWxvcGVyOlNoaXAtdGh1bWItMjAwLmpwZw=="
#需要签名的部分
signingStr = "https://dn-odum9helk.qbox.me/resource/Ship.jpg?imageView2/2/w/200/h/200|saveas/cWluaXUtZGV2ZWxvcGVyOlNoaXAtdGh1bWItMjAwLmpwZw=="
#签名结果
sign = "bcgojLbLKTsTlhm3XFMYq0cn3lW2G3NAuJYXZDDf:jGo09Pmq5vyG4c-rRb4qF3_dH1g="#另存操作的目标空间与资源名
entryURI = "qiniu-developer:Ship-thumb-200.jpg"
#编码结果
encodedEntryURI = "cWluaXUtZGV2ZWxvcGVyOlNoaXAtdGh1bWItMjAwLmpwZw=="
#需要签名的部分
signingStr = "https://dn-odum9helk.qbox.me/resource/Ship.jpg?imageView2/2/w/200/h/200|saveas/cWluaXUtZGV2ZWxvcGVyOlNoaXAtdGh1bWItMjAwLmpwZw=="
#签名结果
sign = "bcgojLbLKTsTlhm3XFMYq0cn3lW2G3NAuJYXZDDf:jGo09Pmq5vyG4c-rRb4qF3_dH1g="
2
3
4
5
6
7
8
9
10
11
12
13
14
15
https://dn-odum9helk.qbox.me/resource/Ship.jpg?imageView2/2/w/200/h/200|saveas/cWluaXUtZGV2ZWxvcGVyOlNoaXAtdGh1bWItMjAwLmpwZw==/sign/bcgojLbLKTsTlhm3XFMYq0cn3lW2G3NAuJYXZDDf:jGo09Pmq5vyG4c-rRb4qF3_dH1g=
# 阿里云
1.图片压缩(将JPEG格式的原图转换为HEIF格式。) https://image-demo-oss-zhangjiakou.oss-cn-zhangjiakou.aliyuncs.com/sample.jpg?x-oss-process=image/format,heic
2.将图自动裁剪成宽度为100px,高度为100px 的效果图。 http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_fill,h_100,w_100
3.按宽高:将图缩放成高度为100px,宽度按比例处理。 http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,h_100
4.将图按比例缩放到原来的1/2。 http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,p_50
5.持久化
POST /ObjectName?x-oss-process HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA
2
3
4
5
6
将目标图片缩放之后保存到名称为test的Bucket,Object名称为test.jpg。