如何将SVG文件转换为WMF格式

本文关键字:WMF 格式 转换 文件 SVG | 更新日期: 2023-09-27 18:05:57

我想将。svg矢量图形转换为。wmf。我查看了这个图书馆http://wmf.codeplex.com/,但是没有成功。

我找到了这个库http://svg2swf.sourceforge.net/,但是我不知道如何在c#项目中使用它。

编辑:这种使用inkscape不适合我(wmf文件无法打开)。

public static string Result = @"Polygon-6666.wmf";
public static string Source = @"Polygon-6.svg";
public void CreatePng(string filename)
{
    var inkscapeArgs = string.Format(@"-f ""{0}"" -e ""{1}""", Source, Result);
    var inkscape = Process.Start(new ProcessStartInfo("inkscape.exe", inkscapeArgs));
}

如何将SVG文件转换为WMF格式

使用0.91版本的Inkscape,您可以在命令行中使用特定的选项:

private void Demo()
{
    var inkscapePath = @"C:'Program Files'Inkscape'inkscape.exe";
    var inputPath = @"D:'Downloads'Ghostscript_Tiger.svg";
    var outputPath = @"D:'Downloads'Ghostscript_Tiger.wmf";
    Svg2Wmf(inkscapePath, inputPath, outputPath);
}
private void Svg2Wmf(string inkscapePath, string inputPath, string outputPath)
{
    if (inkscapePath == null) throw new ArgumentNullException("inkscapePath");
    if (inputPath == null) throw new ArgumentNullException("inputPath");
    if (outputPath == null) throw new ArgumentNullException("outputPath");
    var arguments = string.Format("--export-wmf='"{0}'" '"{1}'"", outputPath.Trim('"'), inputPath.Trim('"'));
    Process.Start(inkscapePath, arguments);
}

输入文件:https://upload.wikimedia.org/wikipedia/commons/f/fd/Ghostscript_Tiger.svg

文档:inkscape --help