欢迎各位兄弟 发布技术文章
这里的技术是共享的
七牛云存储提供三种水印接口:图片水印、文字水印,以及一次请求中同时打多个水印。
注意:watermark 接口支持的最大 gif 帧数为 200,超过 200,处理结果只返回原图。
注意:接口规格不含任何空格与换行符。
watermark/1/image/<encodedImageURL>/dissolve/<dissolve>/gravity/<gravity>/dx/<distanceX>/dy/<distanceY>/ws/<watermarkScale>
| 参数名称 | 必填 | 说明 |
|---|---|---|
/image/<encodedImageURL> | 是 | 水印源图片网址(经过URL安全的Base64编码),必须有效且返回一张图片。 |
/dissolve/<dissolve> | 透明度,取值范围1-100,默认值为100(完全不透明)。 | |
/gravity/<gravity> | 水印位置,参考水印锚点参数表,默认值为SouthEast(右下角)。 | |
/dx/<distanceX> | 横轴边距,单位:像素(px),默认值为10。 | |
/dy/<distanceY> | 纵轴边距,单位:像素(px),默认值为10。 | |
/ws/<watermarkScale> | 水印图片自适应原图的短边比例,取值范围0-1。 |
NorthWest | North | NorthEast| | | | --------------+----------------+--------------| | West | Center | East | | --------------+----------------+--------------| | | | SouthWest | South | SouthEast
请求语法
GET <imageDownloadURI>?<接口规格> HTTP/1.1Host: <imageDownloadHost>头部信息
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Host | 是 | 下载服务器域名,可为七牛三级域名或自定义二级域名,参考七牛自定义域名绑定流程。 |
响应语法
HTTP/1.1 200 OKContent-Type: <imageMimeType><imageBinaryData>头部信息
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Content-Type | 是 | MIME类型,成功时为图片的MIME类型,失败时为application/json。 |
| Cache-Control | 缓存控制,失败时为no-store,不缓存。 |
响应内容
如果请求成功,返回图片的二进制数据。
如果请求失败,返回包含如下内容的 JSON 字符串 (已格式化,便于阅读):
{"code": <HttpCode int>, "error": "<ErrMsg string>",}| 字段名称 | 必填 | 说明 |
|---|---|---|
| code | 是 | HTTP状态码,请参考响应状态 |
| error | 是 | 与HTTP状态码对应的消息文本 |
响应状态码
| HTTP状态码 | 含义 |
|---|---|
| 200 | 添加水印成功 |
| 400 | 请求报文格式错误 |
| 404 | 资源不存在 |
| 599 | 服务端操作失败。 如遇此错误,请将完整错误信息(包括所有HTTP响应头部)通过邮件发送错误日志)给我们。 |
https://olhvkds73.qnssl.com/logo.pngImageURL = "https://olhvkds73.qnssl.com/logo.png"encodedImageURL = urlsafe_base64_encode(ImageURL)dissolve=50)gravity=SouthEast)
注意:接口规格不含任何空格与换行符。
watermark/2/text/<encodedText>/font/<encodedFontName>/fontsize/<fontSize>/fill/<encodedTextColor>/dissolve/<dissolve>/gravity/<gravity>/dx/<distanceX>/dy/<distanceY>
| 参数名称 | 必填 | 说明 |
|---|---|---|
/text/<encodedText> | 是 | 水印文字内容(经过URL安全的Base64编码) |
/font/<encodedFontName> | 水印文字字体(经过URL安全的Base64编码),默认为黑体,详见支持字体列表 注意:中文水印必须指定中文字体。 | |
/fontsize/<fontSize> | 水印文字大小,单位: 缇 ,等于1/20磅,默认值是240缇,参考DPI为72。 | |
/fill/<encodedTextColor> | 水印文字颜色,RGB格式,可以是颜色名称(例如 red)或十六进制(例如 #FF0000),参考RGB颜色编码表,默认为黑色。经过URL安全的Base64编码。 | |
/dissolve/<dissolve> | 透明度,取值范围1-100,默认值100(完全不透明)。 | |
/gravity/<gravity> | 水印位置,参考水印位置参数表,默认值为SouthEast(右下角)。 | |
/dx/<distanceX> | 横轴边距,单位:像素(px),默认值为10。 | |
/dy/<distanceY> | 纵轴边距,单位:像素(px),默认值为10。 |
请求语法
GET <imageDownloadURI>?<接口规格> HTTP/1.1Host: <imageDownloadHost>头部信息
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Host | 是 | 下载服务器域名,可为七牛三级域名或自定义二级域名,参考七牛自定义域名绑定流程。 |
响应语法
HTTP/1.1 200 OKContent-Type: <imageMimeType><imageBinaryData>头部信息
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Content-Type | 是 | MIME类型,成功时为图片的MIME类型,失败时为application/json。 |
| Cache-Control | 缓存控制,失败时为no-store,不缓存。 |
响应内容
如果请求成功,返回图片的二进制数据。
如果请求失败,返回包含如右内容的JSON字符串(已格式化,便于阅读):
{"code": <httpCode int>, "error": "<errMsg string>",}| 字段名称 | 必填 | 说明 |
|---|---|---|
| code | 是 | HTTP状态码,请参考响应状态。 |
| error | 是 | 与HTTP状态码对应的消息文本 |
响应状态码
| HTTP状态码 | 含义 |
|---|---|
| 200 | 添加水印成功 |
| 400 | 请求报文格式错误 |
| 404 | 资源不存在 |
| 599 | 服务端操作失败。 如遇此错误,请将完整错误信息(包括所有HTTP响应头部)通过邮件发送错误日志给我们。 |
通过调试命令参数的方式,对使用者并不方便。我们提供了图片处理的图形化编辑界面,通过以下方式进入:
2、 选择常用场景,并开始编辑图片处理命令
七牛云存储宋体1000whitedissolve=85)gravity=SouthEast)
本接口用于同时在一个原图上打多个不同类型的水印。
注意1:接口规格不含任何空格与换行符。
注意2:省略号表示可以附加多个规格参数。
注意3:图片水印与文字水印的规格可以混写,按给定顺序处理。
watermark/3/text/<textWaterMarkParams1>/image/<imageWaterMarkParams1>/image/<imageWaterMarkParams2>/text/<textWaterMarkParams2>...| 参数名称 | 必填 | 说明 |
|---|---|---|
/image/<imageWaterMarkParams> | 参考图片水印参数 | |
/text/<textWaterMarkParams> | 参考文字水印参数 |
请求语法
GET <imageDownloadURI>?<接口规格> HTTP/1.1Host: <imageDownloadHost>请求头部
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Host | 是 | 下载服务器域名,可为七牛三级域名或自定义二级域名,参考七牛自定义域名绑定流程。 |
响应语法
HTTP/1.1 200 OKContent-Type: <imageMimeType><imageBinaryData>头部信息
| 头部名称 | 必填 | 说明 |
|---|---|---|
| Content-Type | 是 | MIME类型,成功时为图片的MIME类型,失败时为application/json。 |
| Cache-Control | 缓存控制,失败时为no-store,不缓存。 |
响应内容
如果请求成功,返回图片的二进制数据。
如果请求失败,返回包含如下内容的JSON字符串(已格式化,便于阅读):
{"code": <httpCode int>, "error": "<errMsg string>",}| 字段名称 | 必填 | 说明 |
|---|---|---|
| code | 是 | HTTP状态码,请参考响应状态 |
| error | 是 | 与HTTP状态码对应的消息文本 |
响应状态码
| HTTP状态码 | 含义 |
|---|---|
| 200 | 添加水印成功 |
| 400 | 请求报文格式错误 |
| 404 | 资源不存在 |
| 599 | 服务端操作失败。 如遇此错误,请将完整错误信息(包括所有HTTP响应头部)通过邮件发送给我们。 |
注意:
watermark生成的图片会被七牛云存储缓存以加速下载,但不会持久化。需要持久化的缩略图,请参考持久化数据处理和saveas。qrsctl login <email> <password>qrsctl style <bucket> watermarked.jpg watermark/2/text/<encodedText>qrsctl separator <bucket> -此时,如下两个URL等价:
http://<Domain>/<Key>?watermark/2/text/<encodedText>http://<Domain>/<Key>-watermarked.jpg设置原图保护后,原图不能访问:
http://<Domain>/<Key>同时也禁止根据图像处理API对原图进行参数枚举:
http://<Domain>/<Key>?watermark/2/text/<encodedText>此时只能访问指定规格的图片资源:
http://<Domain>/<Key>-watermarked.jpg| 附件 | 大小 |
|---|---|
| 17.6 KB |