littlecms integration
Boudewijn Rempt
boud at valdyas.org
Wed Nov 24 13:42:46 CET 2004
Okay, this is how I want to do the first, crude phase of littlecms
integration. This will deliver in the first phase a simple form
of color management, not good enough for pro's, but a start, and decentish
cmyk support.
Phase I: Use littlecms for conversion between color spaces and use
input/output/display profiles.
* Make autoconf check for the presence of littlecms.
** Profiles
* Add profiles to krita/data/profiles (done)
* Create a KisProfile resource in krita/core/resources
* Implement the attached preferences tab & add to kis_dlg_preferences (Query:
should there be separate settings for every color model? If so, we need
to add settings loading and saving to the color strategy modules).
* Store preferences in settings
* Add an input profile combobox to the import image & scan dialogs
* Add an export profile combobox to the export image/print dialogs
* Add a step in KisDoc::paintContent where the default monitor profile
is applied to the QImage at line 1157.
* Add loading and saving of profiles associated with images in .krita
files.
** Color conversions
* Replace koColor with KisColor, where KisColor is a combination of a
byte array and a pointer to a color model
* Precreate all littlecms transforms inside the color model constructors.
* Remove the convertToRGBA and convertFromRGBA methods (and all calls to
them).
* Rework the nativeColor, toKoColor, convertTo methods to use KisColor and
littlecms for transforms.
* In KisStrategyColorSpaceCMYK::convertToImage, use littlecms transform
instead of homegrown code to return an RGB QImage (and rename this
method to convertToQImage, since that's what it is, and do that
everywhere).
Phase II: Implement other channel depths than 8-bit, professional profile
support
* Make color strategies, filters and other plugins that act directly on
channel data instead of using KisPainter to bitBlt templates.
* Add UI for depth choice
* Add UI for display settings for high bit depths -- we have upscale
and downscale, but that's not enough. I want, as in OpenEXR, to be
able
* Retrieve profiles from imported images (tiff, png and jpg can have
them, for instance embedded by a calibrated scanner).
* Export profiles in tiff, png and jpg (this and the previous item
depend on ImageMagick or GraphicsMagick supporting this in some way.)
* Support out-of-gamut warning indications for parts of an image
containing unprintable colours (no idea how to implement this).
I've added this laundry list to Krita's TODO, but I'm going to start working
on phase I of colour conversions tonight.
--
Boudewijn Rempt | "Geef mij maar zuurtjes."
http://www.valdyas.org/fading/index.cgi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wdgcolorsettings.ui
Type: application/x-designer
Size: 11406 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kimageshop/attachments/20041124/3832fea9/wdgcolorsettings.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kimageshop/attachments/20041124/3832fea9/attachment.pgp
More information about the kimageshop
mailing list