Re: Cocoa, Quartz, Colorspaces and ColorSync
Re: Cocoa, Quartz, Colorspaces and ColorSync
- Subject: Re: Cocoa, Quartz, Colorspaces and ColorSync
- From: "R. Scott Thompson" <email@hidden>
- Date: Thu, 30 Sep 2004 15:30:16 -0500
Here's the technote you want (2035):
http://developer.apple.com/technotes/tn/tn2035.html. It explains how
Quartz and color management work together, and gives some rough
definition of the basic concepts.
Thanks for the reference. It had some interesting things that were new
to me (especially sips !) but
much of it was a rehash of docs I've already seen. Most of the
discussion is couched in terms of
keeping already extant PDF's and images constant. It doesn't really
address content creation
or Cocoa. In particular it doesn't answer the (by now perennial)
questions:
* What space is NSCalibratedRGBColorSpace ?
I believe, though I am perfectly happy being corrected, that
NSCalibratedRGBSpace is the color space represented by the profile set
as your "RGB Default" profile in the ColorSync Preferences.
* What is actually being done when you do [myNSCalibratedRGBColor set]
and then draw ?
If the above is true, then you are saying that "I am going to specify
colors in the color space of my default RGB color space. I would like
you to translate them to the destination color space appropriately when
this drawing is realized on a device".
* If untagged data is considered to have Generic RGB Profile and
NSCalibratedRGBColorSpace does
turn out to be equivalent to the space defined by Generic RGB
Profile, then what in hell is the difference
between "Calibrated RGB" and "Device RGB" in Cocoa ?
Device RGB is just the raw RGB values of the destination device. The
colors are passed through to the device without being interpreted by
the CMM.
* Where and when do the transformations happen - again, what happens
between and RGB being
supplied to Cocoa and the RGB being applied to the input of the
display ?
The way I understand it, (again I'm open to corrections) is that Cocoa
passes the color to the current CGContext. The CGContext interprets
the color values as being in it's current color space. When Quartz
passes that color to the destination device, if it was not specified in
device RGB then the color may go through an additional output color
correction. If the current color space IS Device RGB then the color
will be passed through as raw color values to the output device.
* An in a related matter - what is the Digital Color Meter app
measuring ? I used to be an experimental
physicist. If you don't really know what your device is measuring,
it's a pretty worthless device.
I think it depends on what you have the popup control set to. If the
control is set to "RGB as..." then it's directly reading device pixels.
If, in contrast, you set it to one of the device independent spaces
then you get the color value before it is corrected through the monitor
profile.
--
Macintosh Software Engineering Consulting Services
Visit my resume at <http://homepage.mac.com/easco/RSTResume.html>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden