summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorØyvind Kolås <pippin@gimp.org>2018-11-12 23:36:51 +0100
committerØyvind Kolås <pippin@gimp.org>2018-11-24 04:00:45 +0100
commit0165b5523a15fc0b9514c50aa3157a567675019a (patch)
tree94a1483f6a325fee9dd4988dc28aac7c5079995d /docs
parent843e091485f7716b86fd26d546b99f49dddcad08 (diff)
docs: update with information about CMYK
Diffstat (limited to 'docs')
-rw-r--r--docs/index-static.html.in43
1 files changed, 29 insertions, 14 deletions
diff --git a/docs/index-static.html.in b/docs/index-static.html.in
index 16ca612..39cbaaa 100644
--- a/docs/index-static.html.in
+++ b/docs/index-static.html.in
@@ -259,29 +259,43 @@ lab_buffer = malloc (pixel_count * 3 * sizeof (float));
<a name='ColorManagement'></a>
<h2>Color Management</h2>
- <p>By default the babl API is assuming data to be (unbounded) sRGB data, data
- being sRGB defines the conversion to and from gray-scale as well as the gamma
+ <p>All pixel formats in babl have a specified color space, if NULL is passed
+as a space constants for (unbounded) linear sRGB data is assumed, data being
+sRGB defines the conversion to and from gray-scale as well as the gamma
- or Transfer Response Curve, TRC, used for converting between linear and
- non-linear variants of the data.
- </p>
+ non-linear variants of the data.</p>
<p>babl has API for creating a format for a specific space:
- <tt>babl_format_with_space("R'G'B' u16", babl_space ("Rec2020"))</tt> creates
- a 16 bit integer format for the Rec2020 color space. Babl knows internally
- about "sRGB", "Rec2020", "Adobe", "Apple" and "ProPhoto" spaces, as they are
- defined with constants on their wikipedia pages.
- </p>
+<tt>babl_format_with_space("R'G'B' u16", babl_space ("Rec2020"))</tt> creates a
+16 bit integer format for the Rec2020 color space. Babl knows internally about
+"sRGB", "Rec2020", "Adobe", "Apple", "ProPhoto", "ACEScg" and "ACES2065-1"
+spaces, as they are defined with constants on their wikipedia pages or similar upstream references.</p>
<p>Additional spaces can be loaded from monitor-class matrix+TRC ICC v2 and
v4 profiles. Using babl_icc_make_space (see babl.h for details). The space of
a babl format can also be queried with babl_format_get_space.
</p>
- <p>The conversions babl does with ICC profiles are according to what is known
- as the relative-colorimetric intent, monitor profiles containing both the
- matrices used by babl and 3d CLUTs (color look up tables) sometimes also do
- relative-colorimetric transfer for the "perceptual" intent CLUTs, but with
- a more flexible and possibly higher accuracy conversions.</p>
+ <a name='cmyk'></a>
+ <h2>CMYK</h2>
+
+ <p>CMYK handling is done using babl-spaces created with ICC profiles
+containing CMYK profiles. BablSpaces for these ICC profiles handle color conversions using lcms2 - or if compiled without lcms2 support a naive profile independent fallback.</p>
+ <p>When a babl space derived from a CMYK ICC profile is used to instantiate
+RGB formats, the resulting formats are using the default/NULL space for
+primaries and TRCs.</p>
+
+ <p>The CMYK formats that use lcms2 for color interchange with the rest of
+babl are the following, which are available for all data types, u8, u16, half
+and float:</p>
+ <dl>
+ <dt>CMYK</dt><dd>Cyan Magenta Yellow Key, with 0 being white and 1.0 full ink coverage.</dd>
+ <dt>CMYKA</dt><dd>as previous, with non-associated alpha channel</dd>
+ <dt>CaMaYaKaA</dt><dd>as previous but premultiplied/associated alpha</dd>
+ <dt>cmyk</dt><dd>inverted CMYK, where 0.0 is full ink coverage and 1.0 is none</dd>
+ <dt>cmykA</dt><dd>as previous, with non-associated alpha channel</dd>
+ <dt>camayakaA</dt><dd>as previous but premultiplied/associated alpha</dd>
+ </dl>
<a name='Vocabulary'></a>
@@ -355,6 +369,7 @@ lab_buffer = malloc (pixel_count * 3 * sizeof (float));
</div>
-->
+
<a name='premultiplied-alpha'></a>
<h2>Pre-multiplied alpha</h2>