/media/watermark
简要描述:
- 用户注册接口
- 应用场景:比较复杂的水印处理,如需要多次添加水印,或者水印图片本身也需要处理,如果处理相对简单,java项目可以通过dubbo接口ImageProcessService处理水印
- 请求中如果包含透明背景或者内切圆时,需要使用png格式的背景图,目前水印生成的图片格式与背景图的格式一致,jpg等格式无法支持透明图片
请求URL:
http://dev.file.internal.weimob.com/media/watermark
请求方式:
- POST
参数: application/json
| 参数名 | 必选 | 类型 | 参数类型 | 说明 |
|---|---|---|---|---|
| accessKey | 是 | int | header | 调用身份 |
| waterMarkRequest | 是 | WaterMarkRequest | body | 水印处理参数 |
请求示例
{//需要加水印的图片,mediaId或者url均可,同时传,系统优先mediaId"url": "http://img06.tooopen.com/3325566.jpg","mediaId": 100012L,//mediaId和url只需传一个"imageWaterMarks": [//图片水印参数{//水印图片mediaId或者url均可,同时传,系统优先mediaId"url": "http://img3.redocn.com/ngbeijing_3924704.jpg","x": 10,//水印图片在主图上的起始X坐标"y": 10,//水印图片在主图上的起始Y坐标"process":{//水印图片本身也需要处理"type":"crop",//处理方式为crop,裁剪"x":5,//裁剪的起点X"y":20, //裁剪的起点Y"w":200, //裁剪的width"h":200//裁剪的height}}],"textWaterMarks": [//文字水印{"text": "测试文件",//文字内容"size": 50,//字体大小"type":"fangzheng",//字体,可查看文档查询支持字体"fontStyle":1,//默认0,正常文字,1 表示 BOLD 2 ITALIC//使用绝对定位方式控制文字位置,请参考下面的说明"x": 280,//文字水印在主图的起始X"y": 635//文字水印在主图的起始Y,"color":"FFFFFF",//十六进制颜色值//使用相对定位"pos":1,"offsetX":10,//该值是相对pos的值"offsetY":-5}]}
offsetX offsetY 说明:这两个值比较容易让人疑惑,目前我们采取的策略是根据相对定位pos来确定,比如pos=5,说明是图片正中心,那么最终得到的y是图片中心的y+offsetY,所以请留意这个边界是否超过图片
水印 process 参数说明 process参数可用于最外层主图或者水印图片
crop 裁剪
"process":{//水印图片本身也需要处理"type":"crop",//处理方式为crop,裁剪"x":5,//裁剪的起点X"y":20, //裁剪的起点Y"w":200, //裁剪的width"h":200//裁剪的height}
scale 缩略 将原图等比缩放 不支持放大
"process":{//水印图片本身也需要处理"type":"scale","s":80//缩略的百分比}
resize 更改尺寸,强制将图片处理到固定尺寸
"process":{//水印图片本身也需要处理"type":"resize","keepRatio":false,//是否保持原图比例"w":80,//处理到固定宽"h":100//处理到固定高}默认系统会保持原图比例,比如原图大小为750*1334 resize参数为100*100最终的结果并不是一张100*100的图,会优先考虑长边,将长边1334缩放到100,然后750按照这个比例缩放,最终生成的图为56*100;如果希望强制生成100*100的图,可以设置"keepRatio":false,此时会得到100*100的图,但是会拉伸变形,请根据实际业务选择处理策略
circle 内切圆,内切圆会将图片进行裁剪,只保留圆的部分
"process":{//水印图片本身也需要处理"type":"circle","x":80//圆点坐标"y":100//,"radius":10//圆的半径}
文字水印说明: 文字水印支持两种定位方式,绝对定位,如下 使用 x y的坐标值来定位,例如 左上角的坐标为 (0,0)
"textWaterMarks": [//文字水印{"text": "测试文件",//文字内容"size": 50,//字体大小"type":"fangzhengkaiti",//字体//使用绝对定位方式控制文字位置"x": 280,//文字水印在主图的起始X"y": 635//文字水印在主图的起始Y,}]
文字水印说明: 文字水印支持两种定位方式,相对定位,如下 使用 pos来定位
"textWaterMarks": [//文字水印{"text": "测试文件",//文字内容"size": 50,//字体大小"type":"fangzhengkaiti",//字体//使用相对定位方式"pos":1,//表示文字水印放置在如图 TOP_LEFT位置"offsetX":10, x轴的偏移量,选填"offsetY":-5 y轴的偏移量,选填}]
返回示例
{"code": 0,//错误码"msg": "success",//消息提示"data": {"mediaId": 20134219,//文件id//文件的访问链接"url": "http://dev.static.picserver.mengdian.com/md/b2a6bdff2d76cc6e478d19106e25a45e_901.jpg","width": 720,//图片的宽"height": 720,//图片的高"fileSize": 52563//图片的文件大小}}
备注
- 更多返回错误代码请看首页的错误代码描述