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