nodejs gm drawText使用(中文、字体、大小及颜色)
来源:互联网 发布:淘宝砍价技巧分享 编辑:程序博客网 时间:2024/04/29 19:28
node党悲催的发现,图片处理工具只有一个gm可以选。gm无非是调用了GraphicsMagick/ImageMagick而已,性能不敢恭维。但是有很多后台生成图片的场景,没办法,只能硬着头皮上了。
前文 ( nodejs图片处理工具gm用法 ) 总结了nodejs gm的基本操作,本篇细说给图片添加文字的接口drawText。
基本用法
gm("test.png").drawText(x, y, text [, gravity])
如果没有gravity参数,那么就将text绘制到图片中的(x,y)坐标处。
如果带有gravity参数,从(x,y)坐标开始到右下角构成的图片范围内,依据gravity含义绘制文字。
gravity选项如下:
NorthWest, North, NorthEast, West, Center,East, SouthWest, South, or SouthEast
用法示例:
值得注意的是,在带有gravity的情形下,(x,y)坐标能起到对位置的调整作用,而且还可以取负值。
gm('test.png').drawText(100, 100, 'Hello') //绘制到(100,100)位置处.drawText(0, 0, 'Hello', 'Center'); //绘制到图片正中间.drawText(0, 10, 'Hello', 'Center'); //图片上面裁除10px,剩下部分的中心。等同于原图中心往下5px.drawText(0, -10, 'Hello', 'Center'); //同上,等同于原图中心往上5px.drawText(0, 0, 'Hello', 'NorthEast'); //原图右上角
中文
gm不能直接绘制中文,需要在绘制的时候引入相应的字库。
gm('test.png').font('./fonts/heiti.ttf') //引入预先下载的黑体字库.drawText(10, 10, '这是一个测试')
字体大小
可以通过fontSize修改字号。
gm('test.png').fontSize(36) //字体大小36.drawText(10, 10, '这是一个测试')
字体颜色
通过fill修改填充颜色。
gm('test.png').fill('#ffffff') //设置白色.drawText(10, 10, '这是一个测试')
字体、大小和颜色,有了这些,基本上就可以自由的在图片上绘制了。
参考
官方文档:GraphicsMagick for node.js
How do I change the color of text I’m drawing with node graphicsmagick?
Nodejs图片编辑和中文乱码
0 0
- nodejs gm drawText使用(中文、字体、大小及颜色)
- UIAlertViewController 基本使用+自定义(字体颜色,大小,对齐方式)
- Android 使用 html设置字体颜色大小
- Markdown字体颜色、大小
- Android 修改TextView中部分字体的颜色及大小
- android 设置textview中的字体颜色及大小
- iOS UITabBarController中设置字体颜色及大小
- UILabel使用不同的大小和字体、颜色
- UIAlertController的使用以及对字体颜色大小的修改
- [NodeJS] html2jade 使用及中文编码问题
- webview设置字体颜色、大小
- UILabel字体颜色和大小
- 新旧写法,字体颜色大小
- tabbaritem字体颜色,大小修改
- 代码改变字体颜色/大小
- 修改UIAlertController字体颜色大小
- Android 原生NumberPicker控件修改分割线颜色及字体颜色大小
- 改变字体颜色大小(字体、颜色嵌套)的几种方法
- APP开发流程概要
- 如何给变量取个简短且无歧义的名字
- 移动web常用lib笔记
- ContextLoaderLinstener
- delegate前面无法加weak的原因
- nodejs gm drawText使用(中文、字体、大小及颜色)
- Android Studio 使用Git和Github管理项目
- java流行开发环境
- codeforces 702F T-shirt
- rtc同步分频异步分频
- Git忽略规则及.gitignore规则不生效的解决办法
- 保存文件到本地
- 根据中文姓名或者其他中英文混合字符串获取拼音首字母
- 提高数据库处理查询速度