node生成图形验证码
时间: 2023-11-27 10:06:31 浏览: 76
图形验证码生成
以下是一个简单的Node.js程序,用于生成图形验证码:
```javascript
const { createCanvas } = require('canvas');
const fs = require('fs');
const width = 100;
const height = 50;
const length = 4;
const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const canvas = createCanvas(width, height);
const ctx = canvas.getContext('2d');
const text = [];
// 生成随机验证码
for (let i = 0; i < length; i++) {
const randomIndex = Math.floor(Math.random() * possible.length);
text.push(possible.charAt(randomIndex));
}
// 绘制验证码
ctx.fillStyle = '#FFFFFF';
ctx.fillRect(0, 0, width, height);
ctx.font = '30px Impact';
ctx.fillStyle = '#000000';
ctx.fillText(text.join(''), 10, 35);
// 保存为图片
const buffer = canvas.toBuffer('image/png');
fs.writeFileSync('captcha.png', buffer);
```
该程序使用了Canvas和fs模块,首先定义了一些常量,包括验证码图片的宽度和高度、验证码长度和可选字符集。然后创建了一个Canvas对象,获取了2D上下文对象,生成了随机验证码,并将其绘制到Canvas上。最后,将Canvas转换为Buffer对象并保存为PNG图片。运行该程序将生成一个名为captcha.png的图形验证码。
阅读全文