Parsing 如何解析EPS以获取网格类数据?

Parsing 如何解析EPS以获取网格类数据?,parsing,3d,ghostscript,mesh,eps,Parsing,3d,Ghostscript,Mesh,Eps,我的目标是将EPS文件导入应用程序(语言为C++),以创建3D对象。我正在寻找一些库/工具,可以帮助我将EPS解析为一个基本元素列表(如SVG中的圆、线、路径等)甚至轮廓数组。我已经尝试过首先使用pstoedit和uniconverter工具将EPS转换为SVG的方法。但有时这两种工具都会在数据丢失的情况下进行错误的对话。因此,我不能说这种方式是可以接受的。 有没有人在这方面有经验或有什么建议?这是一个大项目。对于初学者来说,您需要一个PostScript解释器,除此之外别无选择,因为EPS几乎

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

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

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

您可以编写一个包含方法的重影脚本,只要从输入中解释相关操作,就会执行这些方法。有一个现有的(非常有限,不完整的)SVG输出设备可以让您开始使用

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


考虑到PostScript本质上是二维的,我不知道如何构建三维对象,但这是另一个问题。

我即将了解Ghostscript的方式。我希望有一个更简单的解决办法。贝塞尔曲线对我来说很好。3D对象将是一个拉伸的2D对象,所以这不是一个真正的问题。非常感谢你们的回答,我想这就是我想要的。