文档中心

图片处理


水印

接口

imgWaterMarker

描述

金山云提供三种水印功能,包括文字水印、图片水印,以及多重水印。如果你拥有对图像文件的读权限,那么你可以对该图像添加水印。

通过添加水印,你可以制作个性的图片,或者标识图片来源以及版权信息。

权限

该接口操作需要具备GetObject权限,假如获取对象不存在,你可能存在以下两种返回:

  • 假如用户具有该对象所在Bucket的ListBucket权限,会返回状态码404错误;
  • 假如用户不具备该对象所在Bucket的ListBucket权限,会返回状态码403错误。

请求:

文字水印

语法

注意:接口格式不含任何空格与换行符,以下内容为了方便阅读做了格式化。

https://BucketName.kss.ksyun.com/object@base@
    tag=imgWaterMarker
    &type=2
    &text=<base64EncodeText>
    &font=<base64EncodeFont>
    &fontsize=<base64EncodeFontSize>
    &fill=<base64EncodeFill>
    &dissolve=<dissolve>
    &gravity=<gravity>
    &dx=<offsetX>
    &dy=<offsetY>   HTTP/1.1
Host: BucketName.kss.ksyun.com
请求参数
参数名称 必填 解释说明
tag 操作标志
type type=2 文字水印
text 水印文字(base64EncodeText,经过URL安全的Base64编码)
font 文字水印字体(base64EncodeFont,经过URL安全的Base64编码)。默认为黑体
fontsize 字体大小(整形),单位为缇(1缇=1/20磅),默认值500
fill 文字水印颜色(base64EncodeFill,经过URL安全的Base64编码),可以是RGB格式,也可以是颜色名称(例如 black),还可以是十六进制(例如 ## FF0000),可以参考RGB对照表
dissolve 透明度。取值范围为1~100,默认值为100。100为完全不透明。
gravity 水印位置。可参考下面的水印锚点参数表,默认为SouthEast(右下方)。
dx 横轴(x轴)边距,单位为像素(px),默认值为10
dy 纵轴(y轴)边距,单位为像素(px),默认值为10
q 决定 jpg 图片的相对quality,对原图压缩。范围为0-100 , 0表示高压缩低质量,100表示低压缩,高质量。默认90
水印锚点参数列表
NorthWest North NorthEast
West Center East
SouthWest South SouthEast
请求头部

该请求不需要设置特殊的头部。

图像水印

语法

注意:接口格式不含任何空格与换行符,以下内容为了方便阅读做了格式化。

https://BucketName.kss.ksyun.com/object@base@
    tag=imgWaterMark  
    &type=1  
    &dissolve=<dissolve>  
    &gravity=<gravity>  
    &image=<base64EncodeImageURI>  
    &dx=<offsetX>  
    &dy=<offsetY>
    &wtw=<width>
    &wth=<height>   HTTP/1.1
Host: BucketName.kss.ksyun.com
请求参数
参数名称 必填 解释说明
tag 操作标志
type type=1 为图片水印
image 水印源图片网址(base64EncodeImageURI,经过URL安全的Base64编码),必须保证此网址返回一张图片
dissolve 透明度。取值范围为1~100,默认值为100。100为完全不透明。
gravity 水印位置。可参考下面的水印锚点参数表,默认为SouthEast(右下方)。
dx 横轴(x轴)边距,单位为像素(px),默认值为10
dy 纵轴(y轴)边距,单位为像素(px),默认值为10
q 决定 jpg 图片的相对quality,对原图压缩。范围为0-100 , 0表示高压缩低质量,100表示低压缩,高质量。默认90
wtw 水印添加宽度阈值,小于该值将不进行图片水印操作,单位为像素(px)。范围为0以上的整数
wth 水印添加高度阈值,小于该值将不进行图片水印操作,单位为像素(px)。范围为0以上的整数
水印锚点参数列表
NorthWest North NorthEast
West Center East
SouthWest South SouthEast
请求头部

该请求不需要设置特殊的头部。

响应:

响应头部
头部名称 必填 说明
Content-Type MIME类型,成功时为图片固定的MIME类型image/*,失败时为application/json
响应内容
  • 如果请求处理成功,返回图片的二进制图片数据。
  • 如果请求失败,则返回如下JSON格式的内容:

      {
          "errorCode": <HttpCode int>,
          "tipInfo": <ErrorTipInfo String>,
      }
特殊错误
HTTP状态码 含义
400 请求报文格式错误
404 资源不存在
403 访问拒绝
500 服务端操作失败。

示例

一些关于水印功能的简单示例

文字水印示例
示例请求
  • 水印文字:金山云

    • 原始水印文字=金山云
    • 加密水印文字(base64)=6YeR5bGx5LqR
    • text=6YeR5bGx5LqR
  • 水印文字字体:微软雅黑

    • 原始文字字体=微软雅黑
    • 加密水印字体(base64)=5b6u6L2v6ZuF6buR
    • font=5b6u6L2v6ZuF6buR
  • 水印文字颜色:## bf1717(红色)

    • 原始字体颜色=## bf1717
    • 加密字体颜色(base64)=I2JmMTcxNw==
    • fill=I2JmMTcxNw==
  • 水印字体大小:500 (单位:缇)

    • fontsize=500
    • 水印位置:右上角
    • gravity=NorthEast
  • 水印透明度:65%

    • dissolve=65
  • 横轴边距:10

    • dx=10
  • 纵轴边距:10

    • dy=10
# 请求代码

注意:接口格式不含任何空格与换行符,以下内容为了方便阅读做了格式化。

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@
    tag=imgWaterMark
    &type=2
    &dissolve=65
    &gravity=NorthEast
    &text=6YeR5bGx5LqR
    &font=5b6u6L2v6ZuF6buR
    &fill=I2JmMTcxNw==
    &fontsize=500
    &dy=10
    &dx=20
示例响应

文字水印示例

图片水印示例
示例请求
# 请求代码

注意:接口格式不含任何空格与换行符,以下内容为了方便阅读做了格式化。

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@
    tag=imgWaterMark   
    &type=1   
    &dissolve=65   
    &gravity=NorthEast   
    &image=aHR0cDovL2tzMy5rc3l1bi5jb20vY3NzL2ltZy9maXhlZF9rc2NfbG9nby5wbmc=   
    &dy=10   
    &dx=10   
示例响应

图片水印示例

多重水印示例
示例请求

多重水印,包括对同一张图片可以执行两种或多种操作(基本图片操作和图片水印),两种操作直接用"|"间隔就OK了。

# 请求代码

注意:接口格式不含任何空格与换行符,以下内容为了方便阅读做了格式化。

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@
    tag=imgBaseOp   
    &mode=0   
    &h=160   
    &w=220   
    |tag=imgWaterMark   
    &type=1   
    &dissolve=65   
    &gravity=NorthEast   
    &image=aHR0cDovL2tzMy5rc3l1bi5jb20vY3NzL2ltZy9maXhlZF9rc2NfbG9nby5wbmc=   
    &dy=10   
    &dx=10
    |tag=imgWaterMark   
    &type=1   
    &dissolve=65   
    &gravity=SouthEast   
    &image=aHR0cDovL2tzMy5rc3l1bi5jb20vY3NzL2ltZy9maXhlZF9rc2NfbG9nby5wbmc=   
    &dy=10   
    &dx=10   
示例响应

多重水印示例

图片水印阈值示例
示例请求
# 请求代码

注意:接口格式不含任何空格与换行符,以下内容为了方便阅读做了格式化。

https://kss.ksyun.com/ks3/image_deal/suiyi.jpg@base@
    tag=imgWaterMark   
    &type=1   
    &dissolve=65   
    &gravity=NorthEast   
    &image=aHR0cDovL2tzMy5rc3l1bi5jb20vY3NzL2ltZy9maXhlZF9rc2NfbG9nby5wbmc=   
    &dy=10   
    &dx=10
    &wtw=500
    &wth=500   
示例响应

图片水印示例