0.0.4 • Published 4 years ago

tms-koa-jimp v0.0.4

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

tms-koa-jimp

tms-koa 插件,实现通过 Web API 操作 jimp,处理图片。

已支持的功能:

  • 给图片添加文字水印。

使用的环境的变量。

环境变量说明默认值
TMS_KOA_JIMP_FONT_PATH文字水印使用的字库位置。Jimp.FONT_SANS_32_BLACK
TMS_KOA_JIMP_FONT_SIZE字库文字的大小。32
TMS_KOA_JIMP_SAVE_FS_DOMAIN用于保存处理过的文件的域。需要在config/fs.js中有相应的配置。

关于字库

Jimp只包含英文字库,如果需要添加中文水印,就必须提供中文字库。

Jimp只支持fnt(bitmap font)格式的字库,通常需要自己制作。在 windows 环境上,用BMfont可以将ttf字库转换为fnt格式。

转化时,建议将字库设置为黑色透明背景。在Font settings中设置字体的尺寸为 32,在Export optionsBit depth设置为 32,在Presets中选择Black text with alphaTextures设置为png - Portable Network Graphics

参考:http://www.angelcode.com/products/bmfont/

运行 demo

在 demo 目录下新建 files/upload 目录,在目录下放置要加水印的图片。

在 demo 目录下执行:

node server.js

在浏览器中打开:http://localhost:3000/text.html,填入相应的参数。

API

接口名称接口功能
/image/watermark/text添加文字水印接口

文字水印

描述定义
接口名/watermark/text
请求方式POST
请求格式application/json

URL 参数

参数名称类型必选描述
imageString要添加水印的图片。参考tms-koa文件服务。
saveString如果等于“Y”,将结果保存在服务器上。

POST 参数

参数名称类型必选描述
textString
xNumber横轴边距,单位:像素(px),默认值为 0。
yNumber纵轴边距,单位:像素(px),默认值为 0。
colorStringcss 格式颜色,例如:#FF00FF。
bgColorStringcss 格式颜色,例如:#FF00FF。
widthNumber文字背景宽度,单位:像素(px),默认文字实际宽度加 2 个像素。只有设置了背景色才生效。
fontSizeNumber文字尺寸。不指定,或小于等于 0,使用环境变量TMS_KOA_JIMP_FONT_SIZE的值。
alignString文字在背景中的水平对齐方式,可选:left,center,right。默认:left。

返回结果

如果选择保存文件,返回文件路径,否则为 base64 格式的图片数据。

参数名称类型描述
pathString生成的文件在文件域中的存储路径。用于后续对文件的操作,例如:设置业务信息,删除文件等。可参见tms-koa中的文件服务。
publicPathString可通过服务器访问的文件地址。

示例

curl -X POST -H "Content-type: application/json" "http://localhost:3000/image/watermark/text?image=white.png&save=Y" -d '[{"text":"你好","x":10,"y":10,"color":"#ff0000","bgColor":"#00ff00","width":100,"fontSize":32,"align":"center"}]'
{"msg":{"path":"/202005/3012/59431028.png","publicPath":"/output/202005/3012/59431028.png"},"code":10001}
0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago