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

时间:2009-10-07 20:00:44

标签: c# .net graphics eps

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

我似乎记得Windows GDI支持EPS文件,但谷歌搜索了一下后,我开始怀疑这个内存。

我想要做的就是加载文件并使用Graphics上下文绘制它。

我知道我可以使用任何程序将文件转换为PNG或其他东西并以这种方式渲染,但因为我试图以多种分辨率渲染,我宁愿将矢量数据保存在EPS文件中

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以使用GhostScript从EPS生成图像。获得图像后,您可以在应用程序中显示该图像。

答案 1 :(得分:2)

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

除了Ghostscript之外,还有一些我称之为ImageGear和LeadTools的商业产品,它们可以让你将EPS带到几乎任何其他类型的图形格式。

答案 2 :(得分:1)

在您的问题中,您表示您希望以矢量格式输出,这将阻止位图,jpeg等。以下是获取XAML文件的几种方法,该文件是一个得到Microsoft广泛支持的矢量文件。

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

我知道自动化大多数Microsoft Office应用程序(如Word和Excel)相对容易,但我还没有看到任何针对这些Expression产品的已记录的com inter-op程序集。

也许您可以以未记录的方式使用属于Expression的转换器?

如果这不起作用,那么计划B:

这是一个{。3}},它将.ai(eps)文件转换为XAML。要使用它,您需要Adobe Illustrator。