我有一堆 PDF,在我正在编写的应用程序中用作矢量图。我正在使用 CG Context 命令 CGContextDrawPDFPage 来绘制 PDF,到目前为止效果很好。我遇到的一个问题是我希望能够在运行时修改矢量图的颜色。目前所有的 PDF 都按照设计的方式绘制为纯黑色。
是否可以绘制 PDF 但以某种方式更改它绘制的颜色?也许修改调色板以便黑色映射到其他东西,或者在运行时实际更改 PDF 本身?我意识到 PDF 文件中已经包含颜色信息,所以也许可以告诉 Quartz 忽略这些颜色并使用其他颜色?
更多信息:我正在绘制的 PDF 是程序需要绘制的各种图标/形状。它们是一些黑色的形状,带有透明的背景。我需要能够绘制该 PDF 但使用不同的颜色,或者像比尔威尔逊提到的那样使用混合模式覆盖不同的颜色。我试过 kCGBlendModeLighten 但问题是如果我在 pdf 周围填充一个矩形,外部透明区域会变成红色,所以只有一个红色框而不是红色形状。
所以我需要一种将黑色映射到颜色 X 但保持透明的方法。
这是我需要以不同颜色绘制的 PDF 示例:http: //davidevansgames.com/res/FON179.pdf