node.js的canvas 转换webp格式为png格式
时间: 2023-10-09 15:07:36 浏览: 95
Node.js 的 `canvas` 模块本身不支持直接将 WebP 格式文件转换为 PNG 格式文件。但是,你可以通过 `canvas` 模块将 WebP 格式文件绘制到一个 `canvas` 对象中,然后将 `canvas` 对象转换为 PNG 格式文件。
以下是一个基于 `canvas` 模块的 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` 文件。
阅读全文