node canvas 服务器端canvas 进行图片组合

有时基于服务器端的image 生成是比较重要的,比如一些安全特性,更好的控制图片的存储,以及图片像素字体,以及还想使用canvas的一些编程能力

参考使用

const { createCanvas, loadImage } = require('canvas')
const canvas = createCanvas(1000, 500)
const ctx = canvas.getContext('2d')
 
// Write "Awesome!"
ctx.font = '30px Impact'
ctx.rotate(0.1)
ctx.fillText('测试中文!', 50, 100)
 
// Draw line under text
var text = ctx.measureText('荣dalong!')
ctx.strokeStyle = 'rgba(0,0,0,0.5)'
ctx.beginPath()
ctx.lineTo(50, 102)
ctx.lineTo(50 + text.width, 102)
ctx.stroke()
 
// Draw cat with lime helmet
loadImage('dalong-app.png').then((image) => {
  ctx.drawImage(image, 200, 50, 1000, 500)
 
  console.log('<img src="' + canvas.toDataURL() + '" />')
})

效果

 

 

说明

基于server端canvas 的好处比较明显,就是比较灵活,比较好优化,缺点也是有的,就是性能以及网络开销(优化好了也是会不错的)同时也便于数据
分析

参考资料

https://github.com/niklasvh/html2canvas
https://www.npmjs.com/package/canvas
https://www.npmjs.com/package/jsdom
https://github.com/css/csso
https://github.com/csstree/csstree
https://www.npmjs.com/package/html-to-image

posted on   荣锋亮  阅读(649)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-04-10 k6 常见测试模式说明
2021-04-10 k6 使用参考
2021-04-10 dremio 开发测试简单说明
2021-04-10 cube.js prepareCompiler api 试用
2021-04-10 cube.js schema 预编译处理
2021-04-10 cube.js driver 开发一些说明
2019-04-10 nomad 0.9 新特性

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示