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

7

是否可以使用普通的WinForms GDI+加载和显示EPS文件?如果不行,是否有免费的库可以帮助?

我记得Windows GDI支持EPS文件,但在谷歌上搜索了一下后,我开始怀疑这个记忆。

我想做的就是加载文件并在Graphics上下文中绘制它。

我知道我可以使用任何程序将文件转换为PNG或其他格式,然后以此方式呈现它,但因为我正在尝试以多种分辨率呈现,所以我更喜欢保留EPS文件中的矢量数据。

谢谢!


2
GDI从未支持EPS,但是有一些包含WMF预览的EPS变体。http://en.wikipedia.org/wiki/Encapsulated_PostScript#EPS_previews也许这就是你记得的... - oefe
3个回答

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

5
嗨,马克。在 [so] 的回答中,通常包括概述或重点来明确回答问题。SE 网站的目标是成为多年来的知识和答案资源。如果您只提供了电子邮件回复,我们必须向您发送个人电子邮件请求代码,而且我们可能不确定是否正确。最重要的是,如果您更改了电子邮件或赢得了彩票,您的回答对于未来访问该页面的任何人都是无用的。请考虑编辑您的回答并在此处发布代码。祝你好运! - Jeremy Thompson

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中的互操作性调用pstoedit API。
除了Ghostscript之外,我还知道几个商业产品,如ImageGear和LeadTools,它们可以让您将EPS转换为几乎任何其他类型的图形格式。

这些工具都不能将eps转换为jpg,至少在我的电脑上不行 :-( - Thomas Eyde
ImageMagick应该能够将eps转换为jpg,但是它需要额外使用GhostScript。ImageMagick在PDF处理中内部使用Ghostscript,我认为它也以同样的方式支持EPS? - Mark Redman
是的,ImageMagick支持EPS格式,我刚刚检查过了。请看这个答案:https://dev59.com/c2sz5IYBdhLWcg3w5MI0 - Mark Redman

1
在你的问题中,你表示希望输出为向量格式,这将排除位图、jpeg 等格式。以下是获取 XAML 文件的一些方法,它是一种具有 Microsoft 广泛支持的矢量文件。
Microsoft Expression Blend 3 和 Design 3 都可以打开 .ai(eps)文件并将它们转换为向量格式,分别为设计和 XAML,因此这是可行的。
我知道自动化大多数 Microsoft Office 应用程序像 Word 和 Excel 相对容易,但我没有看到这些 Expression 产品的任何文档 com inter-op 组件。
也许你可以以未记录的方式使用 Expression 中的转换器?
如果这不起作用,这里还有计划 B:
这里有一个免费转换器,可以将 .ai(eps)文件转换为 XAML。但需要 Adobe Illustrator 来使用它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接