0

我的目标是将 EPS 文件导入应用程序(语言为 C++)以创建 3D 对象。我正在寻找一些库/工具,它可以帮助我将 EPS 解析为基元列表(圆形、线条、路径等,如 SVG)甚至轮廓数组。我已经尝试过首先使用 pstoedit 和 uniconverter 工具将 EPS 转换为 SVG 的方法。但有时这两种工具都会在数据丢失的情况下进行错误的对话。所以我不能说这种方式是可以接受的。有没有人有这方面的经验或有什么建议?

4

1 回答 1

1

这是一个大工程。对于初学者,您将需要 PostScript 解释器,除此之外别无选择,因为 EPS 几乎可以包含任何内容。

与其编写自己的解释器,我建议您使用现有的解释器,实际上我建议您使用 Ghostscript,因为它是我所知道的唯一 GPL PS 解释器。

您可以编写一个包含方法的 Ghostscript,只要从输入中解释相关操作,就会执行这些方法。有一个现有的(非常有限的、不完整的)SVG 输出设备可以帮助您入门。

如果你想要一个通用的解决方案,你将不得不处理很多不同类型的操作;例如 PostScript 没有圆形图元,它的曲线都是贝塞尔曲线,有不同种类的线连接。您将需要考虑如何处理图像和可能的文本(可能丢弃这些)和阴影模式。您至少必须了解可以使用的各种色彩空间,即使您不打算自己使用它们。

鉴于 PostScript 本质上是 2D,我真的不知道您将如何构造 3D 对象,但这是一个不同的问题。

于 2012-05-23T16:29:30.917 回答