用node写一个转换webp格式为png格式的代码,不借用第三方库
时间: 2024-02-25 12:54:18 浏览: 88
webp-batch-convert:webp 图片批量转换。将 pngjpgbmp 格式的图片批量转换为 webp 格式
好的,以下是一个基于 Node.js 原生模块的代码示例,用于将 WebP 格式文件转换为 PNG 格式文件:
```javascript
const fs = require('fs');
const { createCanvas, loadImage } = require('canvas');
// 定义要转换的文件路径
const inputFilePath = 'input.webp';
const outputFilePath = 'output.png';
// 使用 canvas 库读取 WebP 格式文件,并将其绘制到一个 Canvas 对象中
loadImage(inputFilePath)
.then(image => {
const canvas = createCanvas(image.width, image.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(image, 0, 0);
// 将 Canvas 对象保存为 PNG 格式文件
const outputStream = fs.createWriteStream(outputFilePath);
const stream = canvas.createPNGStream();
stream.pipe(outputStream);
outputStream.on('finish', () => {
console.log(`成功将 "${inputFilePath}" 转换为 "${outputFilePath}"`);
});
})
.catch(err => {
console.error(err);
});
```
你可以将上述代码保存为一个 `.js` 文件,然后使用 Node.js 运行该文件,即可将 `input.webp` 文件转换为 `output.png` 文件。需要注意的是,这个代码示例使用了 Node.js 的 `canvas` 模块,该模块需要使用 `npm` 或者 `yarn` 等包管理工具进行安装。
阅读全文