我想写一个非常简单的程序,可以读取一个EPS和/或人工智能文件,并检测是否使用不透明掩码,如果可能的话,在文件中的数字。深入到EPS文件规范,我有困难,如果有一个特定的指令,我可以搜索在EPS或人工智能代码。
起初,我认为是<xmpTPg:HasVisibleTransparency>True</xmpTPg:HasVisibleTransparency>,但即使不透明掩码不存在,也可以将其设置为真。
任何熟悉EPS或AI格式的人都能为我指出正确的方向吗?
备注:我不想操纵这些文件,我只是想检测不透明面具的存在。
发布于 2012-11-07 01:47:52
这个问题最根本的问题是Adobe没有使用声明式形成式(比如SVG ),而是使用命令式的。Postscript是一种编程语言,用于描述如何绘制图像,而不是绘制什么图像。因此,作为格式本身的一部分,没有一种完全规范的方法来检测掩码是否存在。
也就是说,特定的软件将以一致的方式使用这种格式。在这种情况下,您可以将显式规范视为正在发生的事情的一部分,并将所观察到的软件行为作为其余部分使用。所以,假设你想找到不透明面具,就像它们出现在Illustrator中一样,我想说,解决这个问题的最好方法是看看AI是如何通过观察它的行为来保存这些面具的。也就是说,拿一些现有的人工智能文件,没有掩码,并制作一个副本。在AI中打开副本,只需执行一次操作即可创建一个掩码。保存。现在比较文件的前后版本。在简要查看了AI文件格式规范之后,我认为无论怎样,您都必须这样做,因为似乎有不止一种方法可以在其保存的文件中实现这样的掩码。
https://stackoverflow.com/questions/12000026
复制相似问题