/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//图片的文件大小
}
}
备注
- 更多返回错误代码请看首页的错误代码描述