📅  最后修改于: 2023-12-03 15:03:15.579000             🧑  作者: Mango
本文将介绍一种 Node.js 通用的 drawEllipse() 函数,它可以用于在网页或命令行终端中绘制椭圆图形。该函数基于 Canvas API 实现,因此可以在运行 Node.js 的任何平台上使用。
function drawEllipse(x, y, width, height, fillStyle = 'transparent', strokeStyle = 'black') {
const canvas = createCanvas(width, height);
const context = canvas.getContext('2d');
context.beginPath();
context.ellipse(width / 2, height / 2, width / 2, height / 2, 0, 0, Math.PI * 2);
context.fillStyle = fillStyle;
context.strokeStyle = strokeStyle;
context.fill();
context.stroke();
return canvas.toBuffer();
}
该函数将返回一个二进制 Buffer 对象,该对象包含绘制的椭圆图形。可以将其保存为图片文件,或在 HTTP 响应中发送给客户端。
const fs = require('fs');
const { createServer } = require('http');
const { drawEllipse } = require('canvas-utils');
createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'image/png' });
res.end(drawEllipse(100, 100, 200, 100, 'skyblue'));
}).listen(8080);
console.log('Server started: http://localhost:8080');
这是一个简单的示例代码,它使用 drawEllipse() 函数创建一个 HTTP 服务器,绘制一个蓝色的椭圆形,并以 PNG 格式发送给客户端。可以在浏览器中打开 http://localhost:8080 查看效果。