On Tue, Mar 11, 2003 at 05:13:43PM +0000, Adam D. Moss wrote:
> If there is a bug then it is in the remaining tools and plugins that
> 1) Use the RGB value of an utterly transparent RGBA (or indeed GREYA)
>   pixel (try to tell me that this is a desirable feature in the
>   blur plugins, for example), or

This is essentially my example from the Noisify plug-in
discussion mentioned earlier (one can figure out other ways
how to achieve the desired effect, but I do not consider
them natural).

I want a yellow opaque circle, with edges blurred to
transparent and some fine yellow pixelish haze around.
The transition I also don't like continuous, but spotty with
varying opacity, so one can see the background better or
worse through individual pixels.  (Hm, my English is poor,
but I hope you understand what I mean.)

The obvious solution is following: Fill whole area with
yellow. Select a circle there. Blur the selection. Invert
slection. Clear selection. Use Noisfy only on Alpha channel.
(Now you can further shape the haze.)

If transparent pixels forgot their state, I would have to
create the circle (base opacity nonzero) and the pixelish
haze (base opacity zero) separately (or use other trick like
using pixel with opacity 1/255 as pseudotransparent and fix them
with curves or histogram tool after I finished it -- this dirty
trick itself illustrates the nature of the problem quite
well).  Only becasue transparent pixels were discriminated.

In someone's mental model color values are inherently
premultiplied, and alpha == 0 means R, G, B == 0.  In
someone's alpha channels is a fourth independent value we
attached to each pixel and it doesn't directly interact with
R, G, B.  This schizm can't be solved because both model are
"correct" in some sense and in some situations.  However,
Gimp uses separate alpha channel internally thus I see as
illogical to force the other mental model.


Gimp-developer mailing list

Reply via email to