[Gimp-developer] A possibly easier way to AnyRGB
- From: Elle Stone <ellestone ninedegreesbelow com>
- To: gimp-developer-list gnome org
- Subject: [Gimp-developer] A possibly easier way to AnyRGB
- Date: Sun, 2 Jun 2019 13:07:37 -0400
Hi All,
Currently GIMP uses hard-coded sRGB primaries for many operations,
thereby producing wrong results when editing images in RGB color spaces
other than sRGB. Also currently GIMP color pickers only pick colors,
only allow dialing in colors, only show out of gamut indicators colors
using sRGB. Well, it's ridiculous to be editing an image in ClayRGB (aka
AdobeRGB) and be told a green color is out of gamut, when it's only out
of gamut wrt sRGB.
Based on testing the space invasion for GIMP-2.99, it seems fairly
massive changes are required to implement "AnyRGB" one function at a
time. But maybe there is an easier way to implement AnyRGB.
*My current workaround for GIMP-2.10:*
Currently I compile GIMP-2.10 in multiple prefixes, one prefix per RGB
color space that I actually want to edit in. These prefixes are easy to
set up:
For GIMP, only two files need to be modified:
* libgimpcolor/gimpcolorprofile.c
* libgimpcolor/gimprgb.h
For babl, only one file needs to be modified:
* babl/babl-space.c
If anyone wants to set up a ClayRGB prefix, patches can be downloaded
here - required modifications for other ICC profiles should be obvious:
https://ninedegreesbelow.com/files/GIMP-ClayRGB-prefix/GIMP-ClayRGB-prefix.zip
This sort of patch merely exchanges one hard-coded color space for another.
*A proposed alternative solution:*
What about writing code that gets the primaries from the user's chosen
RGB working space, and then conveys those primaries to the relevant
three functions in libgimpcolor/gimpcolorprofile.c,
libgimpcolor/gimprgb.h, and babl/babl-space.c , thereby replacing
hard-coded sRGB primaries with "AnyRGB" primaries?
"AnyTRC" would need to be considered separately. However, from the point
of view of photographic editing, the only really useful TRCs are linear
and perceptually uniform. The sRGB TRC is only approximately
perceptually uniform. A better hard-coded choice would be the LAB "L"
TRC. Though maybe babl already has a way to handle "AnyTRC"?
Best,
Elle Stone
--
https://ninedegreesbelow.com
Color management and free/libre photography
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]