首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Node.js动态创建图像?

如何使用Node.js动态创建图像?
EN

Stack Overflow用户
提问于 2011-08-15 08:08:26
回答 2查看 21.7K关注 0票数 20

我正在使用Node.js和Express web框架,我需要创建一个实时图像.png.jpg (比如captcha),然后我必须将该图像发送到浏览器。

最简单的方法是什么?在图像中,我应该写字母/数字(最多5)。

我不知道像recaptcha模块那样连接到在线服务的库是什么。

EN

回答 2

Stack Overflow用户

发布于 2011-08-15 22:34:09

也许你可以用画布?还有一个学习by (TJ)在node.js中的实现。我认为这个屏幕很有趣。正如您从演示文稿中看到的,它甚至在一些示例中呈现文本。在npm登记册 / 节点模块部分中,我还发现了更有趣的链接

票数 11
EN

Stack Overflow用户

发布于 2019-12-16 22:50:52

下面是一些使用画布库的简单代码:

代码语言:javascript
运行
复制
const
    fs = require("fs"),
    { createCanvas } = require("canvas");

const WIDTH = 100;
const HEIGHT = 50;

const canvas = createCanvas(WIDTH, HEIGHT);
const ctx = canvas.getContext("2d");

ctx.fillStyle = "#222222";
ctx.fillRect(0, 0, WIDTH, HEIGHT);
ctx.fillStyle = "#f2f2f2";
ctx.font = "32px Arial";
ctx.fillText("Hello", 13, 35);

const buffer = canvas.toBuffer("image/png");
fs.writeFileSync("test.png", buffer);

这是生成的test.png文件:

要运行它,必须首先安装库:

代码语言:javascript
运行
复制
npm i canvas

当然,您可以将其作为API调用的响应发送,而不是将其保存到文件中。

有关如何使用画布绘制文本的详细信息,请参阅此MDN文章

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7062812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档