[Development] Color Management support in Qt 5?

Alessandro Portale alessandro at casaportale.de
Wed Nov 13 21:43:16 CET 2013

On Sat, Nov 9, 2013 at 12:50 PM, Olivier Goffart <olivier at woboq.com> wrote:
> Allow me to disagree :-)
> How usefull are 1-4 without 99?  What exactly can you do with that
> information.

I think that in the meantime this has been well reasoned by Kai-Uwe
and John: It could be a sane starting point and be needed API for
later steps -also from your suggested list-, anyways.
Also, I was indeed just thinking about color correcting opaque images
and colors. Less about blending, anti-aliasing or gradients. But let's
combine our fields, then.

> 1) QImage[Reader] converts automatically to linear color space, so that all
> QImage's are in the linear color space

A few cents regarding ICC profile usage: How would we do the
linearization; by using the image profile to transform the image data
(what about alpha channel)? And with which output profile (i.e. to
which color space)? Note that there really is no meaningful "RGB"
without Profile/Colorspace, unless we define a linear qtRgb space for
that and ship a profile for that with Qt.
I believe that Lab would actually be the right intermediate space for
what you suggest. <blah> It is afaik really linear to our eyes, can
contain all RGB/CMYK gamuts, and is in the first place a natural
intermediate format when transforming from one device space to the
other (e.g. from digital camera A to computer screen B). It would
therefore make late and early color binding (Kai-Uwe's mail) workflows
co-exist peacefully. We would have to consider white point handling,
but that's a minor detail. </blah> However, all our RGB-based
algorithms would have to be re-implemented in Lab, of course minimum
16 bits per channel, which basically already kills my suggetion :p

> 2) A conversion to the screen's colorspace is done "at the end" (by the
> platform plugin?  by the compositor?)

Definitely a workflow which app developers will want. Especially when
using QtWebkit, since now most web browsers can do that. But good
question... by whom, on which platform. That's what made push my mile
stone to 99.

Good discussion, let's keep the ball rolling!

More information about the Development mailing list