[Development] Color Management support in Qt 5?
Olivier Goffart
olivier at woboq.com
Sat Nov 9 12:50:24 CET 2013
On Saturday 09 November 2013 03:02:18 Alessandro Portale wrote:
> Allow me jump into this topic to contribute to its liveliness :)
>
> The term "Color Management" has been used in different ways here on
> the list. Lately, it was about how to blend images in a non-linear
> color space. That is IMHO perhaps a small and not "that typical" part
> of what color management means for imaging applications.
>
> I like the idea of re-starting small, and quite a bit of what was done
> in Nokia times can certainly be re-used.
> What if Qt started by simply *enabling* color management. I.e. giving
> access to the information that an application needs to perform color
> management tasks itself. In a much later iteration Qt could perhaps
> perform color management operations. Qt should IMHO avoid automatic
> color management under the hood, especially without providing API to
> control it.
>
> Milestones could be:
> 1) QImage[Reader] gives access to image color profile. Either whole
> profile or just an identifier in case of standard spaces such as sRgb.
> 2) QScreen gives access to the current display color profile for that
> specific screen.
> 3) There are notifications (signals?) when the a window changes to
> another screen, or when a screen profile is changed in the system.
> 4) Same as "2" but for installed Printers on the system.
> ...
> 99) QColorEngine can do color conversions using an input profile, a
> source Image an output profile plus different parameters.
>
> Ideas? Kai-Uwe, what color management feature (or enabler) are you
> missing most in Qt?
Allow me to disagree :-)
How usefull are 1-4 without 99? What exactly can you do with that
information.
All the QPainter API assume linear colorspace (at least in the raster paint
engine). And that would be difficult to change that and the result would be much
slower painting.
What does the scene graph do?
That means that when you blend images or smooth scale, or antialias, Qt assume
everything is in the linear colorspace.
I think milestones could rather be:
1) QImage[Reader] converts automatically to linear color space, so that all
QImage's are in the linear color space
2) A conversion to the screen's colorspace is done "at the end" (by the
platform plugin? by the compositor?)
3) Allow QImage to be in any colorspace and have QImage::colorProfile()
4) change QPainter, and graphicssystem to handle different colorspaces.
--
Olivier
Woboq - Qt services and support - http://woboq.com - http://code.woboq.org
More information about the Development
mailing list