On May 12, 2005, at 12:22 PM, Scott Thompson wrote:
'User' color spaces were meant to represent the color space the
application should use if they encountered un-tagged data. This
was user configurable using the ColorSync pane. This has been
removed and user color spaces now map internally to Generic.
So the "user" color spaces were really not the correct ones to use
when dealing with data that you, yourself created in (for example)
an offscreen bitmap. They were really only appropriate for data
from an external source (say an older scanner) where you weren't
sure what color space that data came from.
Yes
So use CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB) instead
of CGColorSpaceCreateDeviceRGB() all the time. The former is well
defined - the latter is device dependent.
When, if ever, is it the Right Thing to call
CGColorSpaceCreateDeviceRGB?
I'd recommend never. There are some edge cases where certain
developers may want to pass DeviceRGB to a printer, but I'll cover
that in a separate post.
Is it accurate to say, then, that an user-level application should
VERY rarely use CGColorSpaceCreateDeviceRGB? It would seem that
that color space is most useful to something like a device driver
that is going to be talking directly to a device's frame buffer.
Yes, in general, a user-level application should very rarely use
CGColorSpaceCreateDeviceRGB. Unfortunately it's the most easiest
colorspace to create, when people are wondering what colorspace they
should use.
Maybe if an application captures the display it would be
appropriate or something along those lines?
Sure, but depending on what you are doing, even if you capture the
display you may want to color correct the data, but it depends on the
application.
Usage of Generic colorspace means that your content will be look
the same across multiple devices and displays. There is sample
code available to create generic colorspaces pre-Tiger, which is
recommended. Let me know if anyone wants this.
I gather that this is the code in listing 3-4 at this site:
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartz-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartz-dev/email@hidden