七牛云试用指南-图片处理

1663 查看

经过好几篇文章之后,想必读者都已经清楚如何上传和下载文件。这两个基本功能是七牛云存储服务的核心与基础,也是后续教程的起点。

结束了基础功能的讲解,我们将步入一个全新的话题:数据处理。以存储资源为基础,对内容进行变换和特殊处理从而生成新的资源,是七牛云存储提供的另一大特色功能,涵盖以下几个大类:

  1. 图片处理;
  2. 音视频处理;
  3. 文档处理;
  4. 持久化处理;
  5. 管道化处理;
  6. 杂项处理。

本篇文章主讲图片处理,引入数据处理这一新概念和相关原理。

■ 缩略图

进行数据处理有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 署名-非商业性使用-禁止演绎

允许自由转载,请注明作者及出处。