在 C++ 中将 SVG 转换为 PNG

高速和跨平台的 C++ 库,有助于开发能够创建、合并、检查或转换 Microsoft PowerPoint 和 OpenOffice 演示文稿文件的应用程序,而无需使用 Microsoft 或 Open Office、Adobe PDF 等任何软件。

在 C++ 中将 SVG 转换为 PNG

Aspose.Slides for C++ 是一个强大的 C++ 库,用于创建和操作演示文稿文件。此外,它提供了将 SVG 转换为 PNG 的灵活方法。使用Aspose.Slides for C++,任何开发人员或应用程序只需几行 C++ 代码即可将 SVG 转换为 PNG 文件。

作为现代文档处理 API,Aspose.Slides for C++ 可以快速将 SVG 文件导出为 PNG 文件格式。 Aspose PowerPoint 库允许您将 SVG 转换为 PNG 和许多其他文件格式

使用 C++ 将 SVG 转换为 PNG

要将 SVG 转换为 PNG,您需要从 SVG 文件创建演示文稿并将其另存为 PNG。

将 SVG 转换为 PNG 的 C++ 代码


auto pres = System::MakeObject<Presentation>();
System::String svgContent = System::IO::File::ReadAllText(svgPath);
System::SharedPtr<ISvgImage> svgImage = System::MakeObject<SvgImage>(svgContent);
System::SharedPtr<IPPImage> ppImage = pres->get_Images()->AddImage(svgImage);
pres->get_Slides()->idx_get(0)->get_Shapes()->AddPictureFrame(Aspose::Slides::ShapeType::Rectangle, 0.0f, 0.0f, 
    static_cast<float>(ppImage->get_Width()), 
    static_cast<float>(ppImage->get_Height()), ppImage);
for (int32_t i = 0; i < pres->get_Slides()->get_Count(); i++)
{
    // Control hidden slides (do not render hidden slides)
    if (pres->get_Slides()->idx_get(i)->get_Hidden())
    {
        continue;
    }
    
    // Convert slide to a Bitmap object
    System::SharedPtr<Bitmap> bmp = pres->get_Slides()->idx_get(i)->GetThumbnail(2.f, 2.f);

    // Create file name for an image
    System::String outputFilePath = Path::Combine(outputDir, System::String(u"Slide_") + i + u".png");
    
    // Save the image in PNG format
    bmp->Save(outputFilePath, ImageFormat::get_Png());
}

如何使用 Aspose.Slides for C++ API 将 SVG 转换为 PNG

这些是在 C++ 中将 SVG 转换为 PNG 的步骤。

  1. 安装 Aspose.Slides for C++

  2. 将库引用(导入库)添加到您的 C++ 项目。

  3. 在 C++ 中打开源 SVG 文件。

  4. 将结果保存为 PNG 文件。

免费在线转换器

如何在 Python 中将 PPT 转换为 HTML

将 SVG 转换为其他支持的格式

您还可以转换 SVG 并保存为其他文件格式。查看下面所有支持的格式