相关疑难解决方法(0)

如何在C#中将SVG文件转换为EMF文件

将SVG转换为EMF绝对是可能的,例如本网站.我想知道是否有可能在C#中实现这种转换?


更新:

我尝试使用SVG.NET读取SVG文件并将其绘制到一个Graphics对象,然后尝试将其导出Image为.emf扩展名中的MetaFile(我按照此处的说明操作:GDI +/C#:如何将图像另存为EMF?).读取成功完成,图像输出为.emf.但是,当我在PowerPoint中打开.emf时,它无法取消分组,这表明该文件的绘图信息实际上没有正确转储.

更新2:

现在它确实导出了一个无组合的.emf,但是取消组合显示效果非常糟糕.我使用以下代码生成.emf:

private void OpenPictureButtonClick(object sender, EventArgs e)
{
    var openFileDialog = new OpenFileDialog();
    openFileDialog.ShowDialog();

    _svgDoc = SvgDocument.Open(openFileDialog.FileName);

    RenderSvg(_svgDoc);
}

private void SavePictureClick(object sender, EventArgs e)
{
    var saveFileDialog = new SaveFileDialog {Filter = "Enhanced Meta File | *.Emf"};
    saveFileDialog.ShowDialog();

    var path = saveFileDialog.FileName;
    var graphics = CreateGraphics();
    var img = new Metafile(path, graphics.GetHdc());
    var ig = Graphics.FromImage(img);

    _svgDoc.Draw(ig);

    ig.Dispose(); img.Dispose(); graphics.ReleaseHdc(); graphics.Dispose();
}

private void …
Run Code Online (Sandbox Code Playgroud)

.net c# svg .emf

8
推荐指数
1
解决办法
4476
查看次数

在C#中保存图元文件

如果我在System.Drawing.Image中有一个wmf或emf图像,有没有办法用c#保存图元文件数据而不将其渲染为位图?调用Image.Save会将其呈现为位图,我希望保留原始数据,使其仍然是有效的.wmf或.emf格式文件.

c# wmf .emf

6
推荐指数
1
解决办法
8803
查看次数

用.NET将图像转换为WMF?

有很多将wmf转换为位图的示例: 可靠的.wmf/wmf到基于像素的图像转换

但我需要反向操作.我不寻找矢量化器.我只是想在wmf文件中嵌入一张图片,而不必担心wmf格式的位和字节.我最好在C#中使用.NET的解决方案.

我首先想到这会做的工作:

using (Image img = Image.FromFile (path)) {
    img.Save (myStream, System.Drawing.Imaging.ImageFormat.Wmf);
}
Run Code Online (Sandbox Code Playgroud)

但是这在运行时抱怨编码器为空.在哪里/如何构建这样的编码器?我不需要复杂的,只需将图像包装成wmf.对WMF支持的格式有一些要求吗?我想支持png和bmp但是还支持gif吗?

.net encode image wmf bitmap

3
推荐指数
3
解决办法
1万
查看次数

标签 统计

.emf ×2

.net ×2

c# ×2

wmf ×2

bitmap ×1

encode ×1

image ×1

svg ×1