是否可以获取Postscript对象中的填充面积?

问题描述 投票:0回答:2

我目前正在通过 .ps 程序提取 .eps 文件的颜色。我试图弄清楚 .eps 文件中每种颜色的使用量。是否可以获取面积或填充形状的一些测量值,以便我知道 .eps 文件中总体使用了多少颜色?

我当前的解决方案是光栅化图像并解析直方图,但我正在尝试使用矢量文件来做到这一点。

ghostscript postscript
2个回答
0
投票

要开始调查这一点,这里有一个

fill
的替代品,它将把路径内容转储到标准输出。

/={=only( )print}def
/oldfill /fill load def
/fill {
    gsave
        clip
        clippath
        { exch = = (moveto\n)print }
        { exch = = (lineto\n)print }
        { 6 -1 1 { -1 roll = } for (curveto\n)print }
        { (closepath\n)print }
        pathforall
    grestore
    oldfill
} def

0
投票

也许墨水覆盖输出(特殊的ghostscript输出设备)是你真正想要的:

有两个特殊的inkcov设备,打印每页的墨水覆盖率; inkcov 设备和 ink_cov 设备。

举个例子,如果我们使用纯 100% 青色填充的页面,两台设备都会给出相同的结果 1.00 0.00 0.00 0.00;每个像素都用青色墨水标记,并且每个像素包含 100% 青色。然而,如果我们使用 50% 青色填充,inkcov 设备仍会给出 1.00 0.00 0.00 0.00,因为 100% 的像素包含青色。然而,ink_cov 设备会给出 0.50 0.00 0.00 0.00 的结果。

© www.soinside.com 2019 - 2024. All rights reserved.