I have a bunch of PDFs that I'm using as vector art in an app I'm writing. I'm using the CG Context command CGContextDrawPDFPage to draw the PDFs, and it's working great so far. A problem I've run into is that I would like to be able to modify the color of the vector art at runtime. All of the PDFs currently draw as solid black, as they were designed.
Is it possible to draw a PDF but somehow change what color it gets drawn with? Maybe modify the color palette so that black maps to something else, or actually change the PDF itself at runtime? I realize that PDFs contain color information already in the file, so maybe it would be possible to tell Quartz to ignore those colors and use something else?
More info: The PDFs I'm drawing are various icons / shapes that the program needs to draw. They are some black shape, with a transparent background. I need to be able to draw that PDF but using a different color, or do as Bill Wilson mentioned and overlay a different color using Blend Modes. I tried kCGBlendModeLighten but the problem is that if I fill a rect around the pdf, the outside transparent areas become red, so there is just a red box instead of a red shape.
So I need a way to map black to color X but leave transparent as is.
Here is an example of a PDF that I need to draw in different colors: http://davidevansgames.com/res/FON179.pdf