C# 如何加载EPS文件并使用WinForms绘制它们

C# 如何加载EPS文件并使用WinForms绘制它们,c#,.net,graphics,eps,C#,.net,Graphics,Eps,是否可以使用普通WinForms GDI+加载和显示EPS文件?如果没有,是否有免费的图书馆提供帮助 我似乎记得WindowsGDI支持EPS文件,但在谷歌搜索了一段时间后,我开始怀疑这种记忆 我要做的就是加载文件并使用图形上下文绘制它 我知道,我可以使用任何程序将文件转换为PNG或其他格式,并以这种方式进行渲染,但由于我尝试以多种分辨率进行渲染,因此我更希望将矢量数据保留在EPS文件中 谢谢 您可以使用GhostScript从EPS生成图像。一旦你有了一个图像,你就可以在你的应用程序中显示它。

是否可以使用普通WinForms GDI+加载和显示EPS文件?如果没有,是否有免费的图书馆提供帮助

我似乎记得WindowsGDI支持EPS文件,但在谷歌搜索了一段时间后,我开始怀疑这种记忆

我要做的就是加载文件并使用图形上下文绘制它

我知道,我可以使用任何程序将文件转换为PNG或其他格式,并以这种方式进行渲染,但由于我尝试以多种分辨率进行渲染,因此我更希望将矢量数据保留在EPS文件中


谢谢

您可以使用GhostScript从EPS生成图像。一旦你有了一个图像,你就可以在你的应用程序中显示它。

在你的问题中,你表示你想要以矢量格式输出,这将排除位图、jpeg等。这里有两种方法可以获得XAML文件,这是一个由Microsoft广泛支持的矢量文件

Microsoft Expression Blend 3和Design 3都可以打开.ai(eps)文件,并将它们分别转换为矢量格式、Design和XAML,因此这绝对是可能的

我知道自动化大多数Microsoft Office应用程序(如Word和Excel)相对比较容易,但我还没有看到这些Expression产品的任何文档化com互操作程序集

也许您可以使用作为表达式一部分的转换器,但没有文档记录

如果这不起作用,这里是计划B:


下面是一个将.ai(eps)文件转换为XAML的示例。但是,要使用它,您需要Adobe Illustrator。

我知道的所有可以将EPS转换为其他矢量或光栅格式的免费或开源库都基于Ghostscript。您可以使用提供的包装器直接调用ghostscript,或者查看imagemagick。它是一个非常流行的用于处理图像图形的库,并且已经存在很长时间了。它在内部也依赖于Ghostscript来处理EPS格式。有一个.NET包装,你可以在。你也可以在这里了解一下它的背景。还有pstoedit,它也基于ghostscript来读取EPS,并允许导出为WMF格式。您需要在.NET中使用interop调用pstoedit API


除了Ghostscript之外,我还知道一些商业产品,比如ImageGear和LeadTools,它们可以让您将EPS转换为几乎任何其他类型的图形格式

GDI从来都不支持EPS,但是,有些EPS版本包含WMF预览。也许这就是你一直记得的…这些都不能从eps转换成jpg。至少在我的机器上没有:-(ImageMagick应该能够将eps转换为jpg,但是它需要额外使用GhostScript,ImageMagick在内部使用GhostScript进行PDF处理,我假设它也以同样的方式支持eps?是的ImageMagick确实支持eps,只是选中了:看看这个答案:Hi Mark,答案中通常包括摘要具体回答问题的内容或要点。SE站点的目标是在未来几年内成为知识和答案的资源。对于只给我发电子邮件的答案,我们必须向您发送一封个人电子邮件,请求我们甚至不确定的代码。最重要的是,如果您的电子邮件发生变化或您中了彩票,您的答案是无用的任何人谁访问这个页面在未来。考虑编辑你的答案,并张贴代码在这里。祝你好运!