【问题标题】:How can I read the colorspace of an .eps file using Ghostscript?如何使用 Ghostscript 读取 .eps 文件的色彩空间?
【发布时间】:2013-06-04 17:00:02
【问题描述】:

我正在尝试使用 Ghostscript 提取 EPS 文件的色彩空间。我目前使用 ImageMagick 的 identify 命令,但它必须在确定色彩空间之前对图像进行光栅化。如何在不光栅化图像的情况下使用 Ghostscript 执行此操作?

【问题讨论】:

    标签: ghostscript postscript eps color-space


    【解决方案1】:

    您已经在这里问过这个问题: How can I extract color values from an EPS file?

    我已经回答过了。 EPS 文件没有“颜色空间”,它们包含在许多不同颜色空间中的任何一个中发生的标记操作。因为 PostScript 是一种编程语言,所以如果不解释整个程序,就无法确定使用了哪些色彩空间。

    我在上一个答案中概述的技术允许您“挂钩”任何 PostScript 标记操作并检测当时有效的颜色空间(对于图像,您必须检查字典,因为它们带有颜色空间与论点)。

    您的另一种选择是编写一个 Ghostscript 设备,它将接收所有标记操作并可以直接检查当前颜色空间,但这也是一项大量工作。

    【讨论】:

    • 你是对的,我的问题是类似的。我已经能够将您的所有建议汇总在一起,现在我可以阅读色彩空间了。我在阅读 rgb 和 cmyk 颜色时遇到问题。这一行: (current color = ) print mark currentcolor counttomark 0 1 3 -1 roll {20 string cvs print () print} for flush pop 总是输出: current color = 0 1 2 3. 任何想法我如何修改它准确吗?
    • 它显然是打印'for'循环的索引,你应该把'pop'作为第一件事放在花括号'{pop 20 string....'中
    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    相关资源
    最近更新 更多