lilang

Posted omar27

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lilang相关的知识,希望对你有一定的参考价值。

 

名称

描述

参数类型

t

参数意义:表示文字水印的文字内容(必须编码)

说明:必须是URL安全base64编码 encodeText = url_safe_base64_encode(fontType) 

必选参数

f

参数意义:进行水印铺满的效果

取值范围:[0,1], 1表示铺满 ,0表示效果无效

可选参数

d

参数意义:文字水印的透明度

取值范围:[1~100]

可选参数

r

参数意义:文字顺时针旋转角度

取值范围:[0~360]

可选参数

s

参数意义:文字大小

取值范围:[1~150]

默认值:16

可选参数

c

参数意义:文字颜色

取值:只支持Hex Code 格式颜色值

默认值:FFFFFF(白色)

可选参数

l

参数意义:位置,水印打在图的位置,详情参数下方区域数值对应图

取值范围:[nw,north,ne,west,center,east,sw,south,se]

默认值: se

可选参数

x

参数意义:1. 不铺满时:水平边距,距离图片连缘的水平距离,只在水印位置是nw,west,sw, ne,east,se时有效

2. 铺满时时:文字间隔

默认值 :0

可选参数

y

参数意义:1. 不铺满时:垂直边距,距离图片连缘的垂直距离,只在水印位置是nw,north, ne,sw,south,se时有效

2. 铺满时:文字间隔

默认值 : 0

可选参数

 

 

13. 数字水印

命令: URL 后加 proc=digimark/t_token,c_{c}

例: http://dimg.uat.qa.nt.ctripcorp.com/images/350o0s00000003ixq35FA.jpg?proc=digimark/t_token,c_UzM4MjY2,DA5A

DA5A:检验码,请查看最上面的特殊说明

名称

描述

参数类型

c

参数意义:表示文字内容(必须编码)

说明:必须是URL安全base64编码 encodeText = url_safe_base64_encode(fontType) 

必选参数

 

14. 裁图

命令:URL后加proc=crop/m_c,w_{w},h_{h},x_{x},y_{y}

例: http://dimg.uat.qa.nt.ctripcorp.com/images/350o0s00000003ixq35FA.jpg?proc=crop/m_c,w_400,h_800,x_200,y_100,966F

966F:检验码,请查看最上面的特殊说明

名称

描述

参数类型

m

参数意义:表示裁图方式

默认值:c

可选参数

w

参数意义:表示宽度

必选参数

h

参数意义:表示高度

必选参数

x

参数意义:水平边距,距离图片连缘的水平距离

可选参数

y

参数意义:垂直边距,距离图片连缘的垂直距离

可选参数

注意: x,y 两者皆不传时,居中扣图

 

15. 切图

命令:URL后加proc=resize/m_c,w_{w},h_{h}

例:http://dimg.uat.qa.nt.ctripcorp.com/images/100i0e000000013im2A05.jpg?proc=resize/m_c,w_100,h_200,610D

610D:检验码,请查看最上面的特殊说明

名称

描述

参数类型

m

参数意义:表示裁图方式

取值范围:[r,c,w,z]

必选参数

对应 1.切图方式

w

参数意义:表示宽度

必选参数

h

参数意义:表示高度

必选参数

16. 滤镜

命令:URL后加proc=style/m_c,b_{b},c_{c},s_{s}

例: http://dimg.uat.qa.nt.ctripcorp.com/images/350o0s00000003ixq35FA.jpg?proc=style/m_c,b_80,c_70,s_40,270F

270F:检验码,请查看最上面的特殊说明

名称

描述

参数类型

m

参数意义:表示裁图方式

值:c

可选参数

默认值:c

b

参数意义:亮度

取值范围:[-100~100]

可选参数

c

参数意义:对比度

取值范围:[-100~100]

可选参数

s

参数意义:饱和度

取值范围:[-100~100]

可选参数

17. 名字水印透明度

命令: URL后加proc=namelogo/d_40   

透明度支持 40 50 60 70

例: https://dimg04.c-ctrip.com/images/fd/tg/g2/M0B/87/F3/CghzgVWwtkiABWPkACg8DgXiBlU807_C_300_300.jpg?proc=namelogo/d_40 

18. 限制图片大小

命令:URL后加proc=limitsize/s_{size} 

例:https://dimg.fws.qa.nt.ctripcorp.com/images/410p1000000009k0n152B.jpg?proc=limitsize/s_500000,71AC

71AC:检验码,请查看最上面的特殊说明

名称

描述

参数类型

s

参数意义:图片SIZE参考值,单位字节

必选参数


19. 图片合成

接口地址:

http(s)://{domain}/image/composite?channel={your_channel_name}&generate_url={true|false}

---------------------------------------------

channel: 频道名(类似公有云对象存储中的bucket概念),若不清楚自己的channel是什么,请联系gct管春涛

 

generate_url: false时直接返回合成的图片流;true时将合成的图片上传后返回url,此时必须填写channel名,否则将不生效。默认为false,

---------------------------------------------

Request-method: POST

Request-header: Content-Type:application/json

Request-body:

{

      "background": {

              "width": 500, (背景宽度)

              "height": 500, (背景高度)

              "color": "#FFFFFF", (背景颜色, 不填默认用"#FFFFFF")

              "opacity": 0, (透明度, 不填默认为0)

              "src": "http://images4.fx.ctripcorp.com/target/hotel/149000/148640/f02f4c09f314455eb1cc9b8a3cf742d0.jpg" (若用背景图, 以上参数项将无效)

}

       "elements": [

              {

                    // x, y, width, height定义了一个用于定位的矩形框,图片和文字都放置在该框中,

                    //  对于文字,textAlign定义了文字在该框中的位置

                     "type": "TEXT",  (text类型, 必填)

                     "text": "齐齐哈尔", (具体text, 必填)

                     "x": 100, (text框左上角坐标x, 必填)

                     "y": 100, (text框左上角坐标y, 必填)

                     "width": 100, (text框宽度, 超出宽度的text将以...代替, 必填)

                     "height": 100, (text框高度, 必填)

                     "rotate": 90, (0-360, text旋转角度, 选填)

                     "opacity": 50, (0(完全透明)-100(完全不透明), 选填)

                     "fontFamily": "MFYueHeiLight", (字体库, 支持的列表在下方. 选填, 默认用免费的苹方字体,)

                     "fontSize": 42, (字体大小. 必填)

                     "fontColor":"#994747", (字体颜色. 选填, 默认用"#000000")

                     "fontBold":ture|false, (是否字体加粗. 选填, 默认false),

                     "textAlign": "ALIGN_LEFT|ALIGN_CENTER|ALIGN_RIGHT", (水平对齐方式, 竖直默认为居中对齐. 选填, 默认为ALIGN_CENTER)

                     "textUnderline": true|false, (字体下划线,选填,默认false)

                     "textLineThrough":  true|false(字体删除线,选填,默认false)

              },

              {

                     // 图片支持URL和base64两种类型,对于URL类型,在imageSrc里填入存储在我们这里的图片url;对于base64类型,在imageSrc里填入图片base64编码字节流

                    //  scaleType目前定义了两种图片缩放类型,需要更多图片缩放效果,请使用动态切图url,

                    //  对于不是经常变动可复用的图片,请将cache设为true

                     "type": "IMAGE|IMAGE_BASE64",  (类型image, 必填)

                     "imageSrc": "http://images4.fx.ctripcorp.com/target/hotel/149000/148640/f02f4c09f314455eb1cc9b8a3cf742d0.jpg"|图片base64编码字节流,需去除前缀,从/9j/4AAQSk...开始 (image, 必填)

                     "x": 100, (框左上角坐标x, 必填)

                     "y": 100, (框左上角坐标y, 必填)

                     "width": 100, (框宽度, 必填)

                     "height": 100, (框高度, 必填)

                     "rotate": 90, (旋转角度, 0-360, 选填)

                     "opacity": 50, (透明度, 0(完全透明)-100(完全不透明), 选填)

                     "scaleType": "NO_SCALE|FIT_CENTER|FIT_XY" (缩放类型, NO_SCALE:不缩放, 将图片放置在view框中间; FIT_CENTER: 将图片放大或缩小到宽高都小于等于view的宽高, 然后将图片放置在view的中间;FIT_XY:强制将图片缩放到设置的宽高,图片可能会变形。选填, 默认NO_SCALE),

                     "cache": true|false, (true时将进入lru缓存,默认false)

                     "roundCorner": true|false (true时图片边缘将为圆形,如示例图中小花头像,默认false)

              },  

              ......

       ]

}

Response-statuscode:

200 (OK)

400 (参数错误)

500 (异常)

Response-header: Content-Type:application/json

Response-content:字节流

如需保存字节流,请调用图片上传接口

支持的字体库:

造字工房字体

方正字体

汉仪字体

字体库里面的一些含有中文的字体,请使用对应的英文名称

FZZJ-吕建德行楷JW.ttf

FZZJ-LJDXKJW.ttf

FZ大标宋JW.ttf

FZDBSJW.ttf

FZ汉真广标JW.ttf

FZHZGBJW.ttf

FZ特粗光辉JW.ttf

FZTCGHJW.ttf

FZ粗倩JW.ttf

FZCQJW.ttf

FZ胖娃JW.ttf

FZPWJW.ttf

F方魅JW.ttf

FFMJW.ttf

方正尚酷.ttf

FZSK.ttf

楷体.ttf

SimKai.ttf

宋体.ttf

SimSun.ttf

仿宋.ttf

SimFang.ttf

黑体.ttf

SimHei.ttf

例如对于字体FZSK.ttf,fontFamily参数只需要填写FZSK

示例:

说明:

  1. composite接口会返回合成后的图片流,channel名请填写一个有意义的名字,我们会单独拎出来监控
  2. 测试本case时,post body 请用此链接的内容:  post_body

POST    http://dimg01.fx.ctripcorp.com/image/composite?channel=affiliates

{

    "background": {
        "src":"http://images3.c-ctrip.com/ztrip/robshare/pop-ctrip.png"
    },
    "elements": [
         {
            "fontFamily":"HYZhongHeiJ",
            "width":570,
            "x":0,
            "y":50,
            "fontSize":24,
            "text":"我正在抢去 北京 的车票",
            "type":"TEXT",
            "fontColor":"#FFF",
            "height":32
        },
         {
            "width":248,
            "x":161,
            "y":253,
            "imageSrc":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDA...",
            "type":"IMAGE_BASE64",
            "height":248,
            "ScaleType":"FIT_CENTER"
        },
         {
            "width":116,
            "x":226,
            "y":318,
            "imageSrc":"http://dimg01.fx.ctripcorp.com/images/100g11000000qyx68B1F4.jpg",
            "type":"IMAGE",
            "height":116,
            "roundCorner":true,
            "ScaleType":"FIT_CENTER"
        }
    ]
}

详细post_body

效果:

以上是关于lilang的主要内容,如果未能解决你的问题,请参考以下文章