经过好几篇文章之后,想必读者都已经清楚如何上传和下载文件。这两个基本功能是七牛云存储服务的核心与基础,也是后续教程的起点。
结束了基础功能的讲解,我们将步入一个全新的话题:数据处理。以存储资源为基础,对内容进行变换和特殊处理从而生成新的资源,是七牛云存储提供的另一大特色功能,涵盖以下几个大类:
- 图片处理;
- 音视频处理;
- 文档处理;
- 持久化处理;
- 管道化处理;
- 杂项处理。
本篇文章主讲图片处理,引入数据处理这一新概念和相关原理。
■ 缩略图
进行数据处理有3种方式,第一种是在下载URL后附加处理指令,规则如下:
http://<Bucket>.qiniudn.com/<Key>?<Fop>
或
http://<Domain>/<Key>?<Fop>
以牛小七为原图(720x960):
如想获得300x150的缩略图,可将下载URL写成如下形式:
http://developer.qiniu.com/牛小七.png?imageView2/1/w/300/h/150
问号后的部分是具体处理规格:
- imageView2/1指定使用imageView2处理接口的1号模式;
- w参数限定缩略图的宽度;
- h参数限定缩略图的长度。
该规格指示七牛云存储对原图进行等比缩略,然后居中裁剪出300x150缩略图。实际效果如下图所示:
■ 裁剪
imageView2是简化的图片处理接口,提供有限的图片处理功能。七牛云存储还提供名为imageMogr2的处理接口,支持更丰富的处理功能。
比如想获得正上方的裁剪缩略图时,可将下载URL写成如下形式:
http://developer.qiniu.com/牛小七.png?imageMogr2/thumbnail/300x300/gravity/North/crop/300x185
其中,
- imageMogr2指定使用imageMogr2处理接口;
- thumbnail参数指定第一步先进行全图缩略,尺寸为300x300;
- gravity参数将裁剪锚点定位到正上方(也即TopCenter);
- crop参数指示第二步对缩略图进行裁剪,尺寸为300x185。
实际效果如下图所示:
注意:该接口的各个指令参数是以书写顺序来逐步处理数据的。
■ 文字水印
要给图片打上水印也很方便。以文字水印为例:
http://developer.qiniu.com/牛小七.png?watermark/2/text/54mb5bCP5LiD/gravity/Center/fontsize/960
其中,
- watermark/2指定使用watermark处理接口的2号模式,即文字水印;
- text参数给出文字内容,经过UrlSafe-Base64编码;
- gravity参数指定水印锚点,此处设置在原图正中心;
- fontsize参数指定字号,此处为48磅。
实际效果如下图所示:
■ 特别说明
- 本文所使用的图片处理接口都属于同步调用,计算过程会产生些许延迟,通常可以忽略不计;
- 为加速下载,处理结果将被七牛云自动缓存,不计入存储空间,过期将失效并在下一次访问时重新处理。
■ 咱们行进到哪儿了?
在上传和下载文件的基础功能之上,通过给URL附加数据处理指令,可获得即时式的图片处理效果,极为便利。
七牛云存储 © 2014 署名-非商业性使用-禁止演绎
允许自由转载,请注明作者及出处。