Re: [Gimp-developer] how layers actually get merged?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bear wrote:
> Assume there are four layers, all of which are in Normal mode and grayscale.
> for a specific pixel in each layer,
> Their intensity and alpha values(mapped to [0,1]) are
> i1,a1
> i2,a2
> i3,a3
> i4(background)
>
> the merged intensity is ((i1*a1+i2*(1-a1))*a2+i3*(1-a2))*a3+i4*(1-a3)
> am I correct? Thanks! 

I hope not.  The proper expression should be

a1*i1 + (1-a1) * (a2*i2 + (1-a2) * (a3*i3 + (1-a3) * i4)).

That is, you have the expression reversed.  With your expression, the
background could show through even with opaque layers above it.

The best way to think about it is that the projection at layer n
is given by the recursive formula

P(n) = a_n * i_n + (1 - a_n) * P(n-1),

where the background is layer 0, and P(0) = i_0.

Best,
  -- Bill
 

 
______________ ______________ ______________ ______________
Sent via the KillerWebMail system at primate.ucdavis.edu


 
                   

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux