你好,Stack Overflow社区,
我正在做一个Node.js项目,我需要将SVG文件转换为PNG和JPEG格式。我的SVG文件是独一无二的,因为它们包含编码为base64数据的图像。我尝试使用sharp库进行此操作,但我遇到了base64图像无法正确渲染或在最终PNG输出中丢失的问题。此外,我需要的转换,以保持在最终的PNG图像的高品质。
以下是我的具体要求:
- 该解决方案应该可以在Node.js环境中实现。
- 它需要正确处理嵌入base64编码图像的SVG。
- PNG和JPEG输出的质量应该很高,保持原始SVG的保真度。
我愿意使用其他Node.js库或可以从Node.js应用程序调用的外部工具。任何示例或指针都将非常感谢!
提前感谢您的帮助!
我尝试使用以下方法:
const sharp = require('sharp');
const fs = require('fs');
async function convertSvgToPng(svgFilePath) {
const outputFilePath = svgFilePath.replace('.svg', '.png');
const svgBuffer = fs.readFileSync(svgFilePath);
await sharp(svgBuffer)
.png()
.toFile(outputFilePath);
return outputFilePath;
}
字符串
这段代码似乎不能很好地处理SVG中的base64编码图像,质量也不符合标准。
1条答案
按热度按时间eqqqjvef1#
下面是从SVG和base64创建jpeg文件的示例代码。
字符串
请检查一下。