[cairo] [RFC] Color space API (partial proposal)

Arjen Nienhuis a.g.nienhuis at gmail.com
Thu Feb 25 04:51:45 PST 2010

On Thu, Feb 25, 2010 at 11:51 AM, Adrian Johnson <ajohnson at redneon.com> wrote:
> ecir hana wrote:
>> On Wed, Feb 24, 2010 at 12:52 PM, Adrian Johnson <ajohnson at redneon.com>
>> wrote:
>>> After looking at the ICC specification it should be possible for the PDF
>>> backend to generate a tint transform from an ICC profile for a DeviceN
>>> color
>>> space and an ICC profile for the alternate color space.
>> Could you please describe this in more detail? How does the mechanism
>> of "generate a tint" works? And how exactly should a user proceed?
> On IRC Andrea pointed out that ICC profiles can contain named colors. After
> reading about named colors in the ICC specification I don't think  we don't
> need any special API for DeviceN colors. Just use the named ICC profile as
> you would for any other color space.
> For example if you wanted to use a 6 component DeviceN color space you would
> need a named ICC profile with 6 channels. The profile contains the names of
> each of the 6 colorants and an ICC profile for translating the device colors
> to the profile connection space.

Where can I get these profiles?

> Then you would use the profile to create the color space and create and
> select a colors:
>  color_space = cairo_color_space_create_icc_from_file ("profile.icc");
>  color = cairo_color_create (color_space, 0.1, 0.2, 0.3, 0.2, 0.4, 0.9);
>  cairo_set_source_color (cr, color);
> If the surface is PDF or PS Level 3 a DeviceN color space using the colorant
> names will be used. The tint transform will be generated from the ICC
> profile. The profile contains lookup tables and matrix multiplications.
> PDF/PS Type 0 and Type 4 functions can be used to generate a PDF/PS function
> that performs the same 6 input to 3 output operations as the profile. The
> alternate color space could be either the blending color space or LAB. LAB
> is probably the easiest to use when generating tint transforms from ICC
> profiles as it doesn't require generating the additional transform from the
> 3 channel CIE or LAB profile connection space to the blending color space.
> If the surface is not PDF or PS the ICC profile would be used in the same
> way as any other ICC profile to transform the 6 component input to the
> blending color space.
> --
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo

More information about the cairo mailing list