node 有哪些不需要依赖且超轻量级的库将webp格式的图片转换为png格式?
时间: 2024-02-25 20:55:13 浏览: 8
在 Node.js 中,可以使用内置的 `canvas` 模块来将 WebP 格式的图片转换为 PNG 格式的图片,这个模块不需要额外的依赖且非常轻量级。
以下是一个使用 `canvas` 模块将 WebP 格式的图片转换为 PNG 格式的图片的示例代码:
```javascript
const fs = require('fs');
const { createCanvas, loadImage } = require('canvas');
// 读取 WebP 格式的图片
const webpData = fs.readFileSync('test.webp');
// 将 WebP 转换为 PNG 格式
loadImage(webpData).then(image => {
const canvas = createCanvas(image.width, image.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(image, 0, 0);
const pngData = canvas.toBuffer();
// 将 PNG 数据写入文件
fs.writeFileSync('test.png', pngData);
});
```
这里使用了 `canvas` 模块中的 `loadImage` 方法将 WebP 格式的图片加载为一个 `Image` 对象,然后使用 `canvas` 模块中的 `createCanvas` 方法创建一个画布,将 `Image` 对象绘制到画布上,最后使用 `canvas` 模块中的 `toBuffer` 方法将画布转换为 PNG 格式的 Buffer 数据。
阅读全文