这篇文章将为大家详细讲解有关在Node.js中如何将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
安装Sharp Npm Package
首先你需要安装 npm 包。你可以使用下面的 npm 或 yarn 命令安装:
Npm
$ npm install sharp --save
Yarn
$ yarn add sharp
现在我们已经准备好开始编写一些代码并转换图像了!
SVG 转 PNG
对于第一个例子,我们将 SVG文 件转换为可移植网络图形(PNG)文件格式。确保你在项目目录的根目录中有一个可用的 SVG 文件。
这是完整的代码:
// Node.js
const sharp = require("sharp")
sharp("file.svg")
.png()
.toFile("new-file.png")
.then(function(info) {
console.log(info)
})
.catch(function(err) {
console.log(err)
})
让我们分解代码的每个部分:
首先,导入 sharp 包并将其保存在 sharp 变量中。
然后,我们用 sharp 包来读取我们的 file.svg 文件,将其转换为 PNG 并使用 .toFile() 函数将新的 PNG文件写入你的目录。
sharp 方法是一个 promise,我们用它来获取文件的 info。
最后,我们用 .catch() 方法来捕获并 console.log() 所有错误。
当你运行代码时,应该得到类似的输出:
{
format: 'png',
width: 2500,
height: 527,
channels: 4,
premultiplied: false,
size: 47194
}
你应该能够在项目目录中看到新的 PNG 文件。
还可以将其他选项传递给 .png() 方法来更改输出图像。这些包括压缩级别、质量、颜色等。你可以在文档中查看它们。
SVG 转 JPEG
现在,让我们将 SVG 文件转换为 JPEG 格式。确保项目目录的根目录中有一个 SVG 文件可供使用。
这是完整的代码:
const sharp = require("sharp")
sharp("file.svg")
.png()
.toFile("new-file.jpg")
.then(function(info) {
console.log(info)
})
.catch(function(err) {
console.log(err)
})
当运行代码时,你应该得到类似的输出:
{
format: 'jpg',
width: 2500,
height: 527,
channels: 4,
premultiplied: false,
size: 47194
}
你应该在项目目录中看到新的JPEG文件。
文档:http://sharp.pixelplumbing.com/en/stable/api-output/#png
SVG 转 TIFF
接下来,让我们将SVG文件转换为标记图像文件格式(TIFF)文件。确保你在项目目录的根目录中有一个我们可以使用的SVG文件。
这是完整的代码:
const sharp = require("sharp")
sharp("file.svg")
.tiff()
.toFile("new-file.tiff")
.then(function(info) {
console.log(info)
})
.catch(function(err) {
console.log(err)
})
当你运行代码时,应该得到类似的输出:
{
format: 'tiff',
width: 2500,
height: 527,
channels: 3,
premultiplied: false,
size: 65778
}
你应该在项目目录中看到新的TIFF文件。
文档:http://sharp.pixelplumbing.com/en/stable/api-output/#tiff
SVG到WEBP
接下来,将 SVG 文件转换为 WEBP 文件格式。确保你在项目目录的根目录中有一个我们可以使用的SVG文件。
这是完整的代码:
const sharp = require("sharp")
sharp("file.svg")
.webp()
.toFile("new-file.webp")
.then(function(info) {
console.log(info)
})
.catch(function(err) {
console.log(err)
})
输出:
{
format: 'webp',
width: 2500,
height: 527,
channels: 4,
premultiplied: false,
size: 35600
}
你应该在项目目录中看到新的WEBP文件。
文档:http://sharp.pixelplumbing.com/en/stable/api-output/#webp
SVG到HEIF
最后一个例子,让我们将 SVG 文件转换为高效图像文件(HEIF)格式。确保你在项目目录的根目录中有一个可用的SVG文件。
这是完整的代码:
const sharp = require("sharp")
sharp("file.svg")
.png()
.toFile("new-file.heif")
.then(function(info) {
console.log(info)
})
.catch(function(err) {
console.log(err)
})
你还应该在项目目录中看到新的HEIF文件。
关于“在Node.js中如何将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。