GNOME Bugzilla – Bug 72863
Incorrect RGBA resampling in Curve Bend 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->Curve Bend plug-in (only if the "smoothing" option is checked). 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 14173 [details] [review] Proposed patch
Attached patch against CVS HEAD. It fixes it, but don't ask me how. The plugin code is ugly and should go to stamping mill or at least pass through indent.
2003-02-18 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: * libgimpcolor/gimpbilinear.c (gimp_bilinear_rgba): fixes RGBA resampling in Map Object and Lighting Effects plug-ins (#72876 and #105496). * plug-ins/common/curve_bend.c: fixes bug #72863. * plug-ins/common/deinterlace.c: fixes bug #72856. * plug-ins/common/gauss_iir.c: fixes bug #72848. * plug-ins/common/gauss_rle.c: fixes bug #72849. * plug-ins/common/iwarp.c: fixes bug #72865 (except preview, see comment). * plug-ins/common/mblur.c: fixes bug #72850. * plug-ins/common/pixelize.c: fixes bug #72851. * plug-ins/common/polar.c: fixes bug #72866. * plug-ins/common/ripple.c: fixes bug #72868.