I have attached a patch to "Bug 74224 – Add support for 16 bits per
channel" [1] that makes it possible to use GIMP for opening, color
correcting and saving 16-bits-per-channel PNGs using the operations
under the Colors menu that are ported to GEGL such as Color Balance or
Levels. For a technical description of the patch, refer to the bug report.

This was a weekend hack and raises an interesting question: shall we go
for some kind of 16-bit support for GIMP 2.8? I think we should as I am
confident we will be able to come up with something useful in the realm
of high bit depths for 2.8. I don't think it will be hard to add support
for loading some additional 16-bit image formats, allowing creation of
16-bit images and adding 16-bit capabilities to a set of basic tools.
Even if we certainly won't be able to completely port everything to
16-bit in one release cycle it would show that we are making progress in
this area. Just being able to color correct 16-bit PNGs covers one use
case already.

To convince yourself of that the patch actually makes GIMP do stuff in
high bit depth:

1. Apply the patch, requires SVN trunk of GIMP, GEGL and babl.

2. Open a 16-bit PNG with a white-to-black gradient such as this [2] one
I created using Krita.

3. Enable GEGL for the projection and color tools, the legacy code can't
handle 16-bit image data. View -> Use GEGL and Colors -> Use GEGL.

4. Use Colors -> Levels and map the entire range of input to the output
range [120, 135]. This will make the image look completely gray. Apply.

5. Use Colors -> Levels and map the input range [120, 135] to the full
output range [0, 255]. Apply.

After doing 5 the gradient will look intact if you do this on the 16-bit
PNG with GEGL. If you do this on 8-bit data using the 8-bit legacy code
paths the results will look terrible.

Welcome to the start of the 16-bit GIMP era ;)


[1] http://bugzilla.gnome.org/show_bug.cgi?id=74224
[2] http://www.chromecode.com/temp/gradient-16-bit.png
Gimp-developer mailing list

Reply via email to