zoukankan      html  css  js  c++  java
  • 图片水印处理-temp

     

    /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 水印处理参数

    请求示例

    1. {
    2. //需要加水印的图片,mediaId或者url均可,同时传,系统优先mediaId
    3. "url": "http://img06.tooopen.com/3325566.jpg",
    4. "mediaId": 100012L,//mediaId和url只需传一个
    5. "imageWaterMarks": [//图片水印参数
    6. {
    7. //水印图片mediaId或者url均可,同时传,系统优先mediaId
    8. "url": "http://img3.redocn.com/ngbeijing_3924704.jpg",
    9. "x": 10,//水印图片在主图上的起始X坐标
    10. "y": 10,//水印图片在主图上的起始Y坐标
    11. "process":{//水印图片本身也需要处理
    12. "type":"crop",//处理方式为crop,裁剪
    13. "x":5,//裁剪的起点X
    14. "y":20, //裁剪的起点Y
    15. "w":200, //裁剪的width
    16. "h":200//裁剪的height
    17. }
    18. }
    19. ],
    20. "textWaterMarks": [//文字水印
    21. {"text": "测试文件",//文字内容
    22. "size": 50,//字体大小
    23. "type":"fangzheng",//字体,可查看文档查询支持字体
    24. "fontStyle":1,//默认0,正常文字,1 表示 BOLD 2 ITALIC
    25. //使用绝对定位方式控制文字位置,请参考下面的说明
    26. "x": 280,//文字水印在主图的起始X
    27. "y": 635//文字水印在主图的起始Y,
    28. "color":"FFFFFF",//十六进制颜色值
    29. //使用相对定位
    30. "pos":1,
    31. "offsetX":10,//该值是相对pos的值
    32. "offsetY":-5
    33. }
    34. ]
    35. }

    offsetX offsetY 说明:这两个值比较容易让人疑惑,目前我们采取的策略是根据相对定位pos来确定,比如pos=5,说明是图片正中心,那么最终得到的y是图片中心的y+offsetY,所以请留意这个边界是否超过图片

    水印 process 参数说明 process参数可用于最外层主图或者水印图片
    crop 裁剪

    1. "process":{//水印图片本身也需要处理
    2. "type":"crop",//处理方式为crop,裁剪
    3. "x":5,//裁剪的起点X
    4. "y":20, //裁剪的起点Y
    5. "w":200, //裁剪的width
    6. "h":200//裁剪的height
    7. }

    scale 缩略 将原图等比缩放 不支持放大

    1. "process":{//水印图片本身也需要处理
    2. "type":"scale",
    3. "s":80//缩略的百分比
    4. }

    resize 更改尺寸,强制将图片处理到固定尺寸

    1. "process":{//水印图片本身也需要处理
    2. "type":"resize",
    3. "keepRatio":false,//是否保持原图比例
    4. "w":80,//处理到固定宽
    5. "h":100//处理到固定高
    6. }
    7. 默认系统会保持原图比例,比如原图大小为750*1334 resize参数为100*100
    8. 最终的结果并不是一张100*100的图,会优先考虑长边,将长边1334缩放到100,然后750按照这个比例缩放,最终生成的图为56*100
    9. 如果希望强制生成100*100的图,可以设置"keepRatio":false,此时会得到100*100的图,但是会拉伸变形,请根据实际业务选择处理策略

    circle 内切圆,内切圆会将图片进行裁剪,只保留圆的部分

    1. "process":{//水印图片本身也需要处理
    2. "type":"circle",
    3. "x":80//圆点坐标
    4. "y":100//,
    5. "radius":10//圆的半径
    6. }

    文字水印说明: 文字水印支持两种定位方式,绝对定位,如下 使用 x y的坐标值来定位,例如 左上角的坐标为 (0,0)

    1. "textWaterMarks": [//文字水印
    2. {"text": "测试文件",//文字内容
    3. "size": 50,//字体大小
    4. "type":"fangzhengkaiti",//字体
    5. //使用绝对定位方式控制文字位置
    6. "x": 280,//文字水印在主图的起始X
    7. "y": 635//文字水印在主图的起始Y,
    8. }
    9. ]

    文字水印说明: 文字水印支持两种定位方式,相对定位,如下 使用 pos来定位

    1. "textWaterMarks": [//文字水印
    2. {"text": "测试文件",//文字内容
    3. "size": 50,//字体大小
    4. "type":"fangzhengkaiti",//字体
    5. //使用相对定位方式
    6. "pos":1,//表示文字水印放置在如图 TOP_LEFT位置
    7. "offsetX":10, x轴的偏移量,选填
    8. "offsetY":-5 y轴的偏移量,选填
    9. }
    10. ]

    返回示例

    1. {
    2. "code": 0,//错误码
    3. "msg": "success",//消息提示
    4. "data": {
    5. "mediaId": 20134219,//文件id
    6. //文件的访问链接
    7. "url": "http://dev.static.picserver.mengdian.com/md/b2a6bdff2d76cc6e478d19106e25a45e_901.jpg",
    8. "width": 720,//图片的宽
    9. "height": 720,//图片的高
    10. "fileSize": 52563//图片的文件大小
    11. }
    12. }

    备注

    • 更多返回错误代码请看首页的错误代码描述
  • 相关阅读:
    GetArxPath
    动态链接库
    获取文件名称 消除前面的绝对地址路径
    arx 插入图片
    cstring to utf8
    map 用法
    异常处理
    面向对象 "一"
    configparser模块
    装饰器
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/9755872.html
Copyright © 2011-2022 走看看