GNOME Bugzilla – Bug 72870
Incorrect RGBA resampling and preview in Waves plug-in
Last modified: 2005-01-01 21:56:06 UTC
If two pixels have different opacity values (alpha channel), then their colors are not averaged correctly by the Distorts->Waves plug-in. In addition, the preview ignores the alpha channel completely, so the transparent pixels are shown as if they were opaque. It looks like the RGB channels are resampled without taking the opacity into account. As a result, the (invisible) color of a transparent pixel can bleed into an opaque pixel. The resulting image is incorrect. See bug #70335 for some test images and a longer description of the problem. This problem affects many other tools and plug-ins.
Created attachment 14717 [details] [review] Proposed patch
Attached a patch against 1.3.12. Two comments: 1. It locally defines function gimp_bilinear_pixels_8 (yes, bad name, but intentionally), something like this should go to gimpbilinear -- please comment (many plug-ins could make use of it). 2. I don't know to which extent things related to gimp_fixme_preview should be fixed, worked around, or cared about. It seems to not set alpha channel of previews correctly by default, I added a really ugly workaround with a comment (see patch). Maybe I just don't understand gimp_fixme_preview.
2003-03-17 Sven Neumann <sven@gimp.org> Applied patches from David Necas <yeti@physics.muni.cz> that fix incorrect RGBA resampling in a number of plug-ins: * plug-ins/common/fractaltrace.c: fixes bug #72873. * plug-ins/common/tiler.c: fixes bug #72875. * plug-ins/common/waves.c: fixes bug #72870. * plug-ins/common/whirlpinch.c: fixes bug #72871.