什么是易于编写、广泛使用、用途广泛的矢量图形格式?

What is an easy-to-write, widely used, versatile vector graphics format?

我的程序的输出将是一些二维绘图,带有 drawCirclefillRect 等图元。本来是打算用Matlab或者Java画出来的,后来就得自己提供缩放、打印、编辑等选项了

所以我认为 将图形输出为标准矢量图形格式 然后用现有的查看器打开它是个好主意。

哪种格式比较好?我需要 2D 绘图,也许我想稍后扩展到 3D。

在 Windows 中,我仍然使用旧的 Windows(增强型)图元文件 .emf。 很简单,在Delphi和Visual Studio中支持,但我不知道在Linux世界中是否支持。

二维矢量图形的两个简单选项是 PostScript 和 SVG。

PostScript 可能更容易输出,您可以有一个外部头文件在 PostScript 原语之上实现您的原语,这会给您带来灵活性。但您需要使用 PostScript 查看器或将输出转换为 PDF(某些 PDF 查看器可以显示 PostScript)。

SVG 由于其语法,输出起来有点复杂,但仍然不难。 SVG 的主要优点是所有主流浏览器都可以显示 SVG。 SVG 的另一个优点是可以具有透明度,这是 PostScript 不支持的。另一方面,您必须将图元映射到 SVG 图元; SVG 中没有可编程性。

PDF确实支持透明度,但不容易手工生成;你必须使用图书馆。