[Interest] The "Proper" Way to Mix/Cross-Fade Images
André Somers
andre at familiesomers.nl
Tue Mar 20 17:00:22 CET 2012
Op 20-3-2012 14:17, Josiah Bryan schreef:
>
> So it all boils down to this:
> Is there any way to force QPainter (or, heck, just do it on a raw
> OpenGL surface and skip QPainter/QImage all together) to blend things
> where 50% opacity + 50% opacity = 100% opacity in the resultant image?
>
> Or, as some might say, am I just waayyyy off base here? Perhaps the
> mere mention of this idea is causing Porter and/or Duff to want to
> smack me with a stick...I don't know. Any thoughts?
I *think* what you need to do, is this:
* Express the progress of your face as a value between 0 and 1. Let's
call this p
* Create a transparent image with the right size. This will be image F
(foreground)
* Render image A with 1-p opacity into F
* For each pixel in B, add the values for that pixel B*p to the
corresponding pixel in F
* Render F over your background image, at 100% opacity.
The result should be that a pixel i,j in F contains 255, 0, 0 at all
times if both images A and B contain that value at i, j. However, I
think the fourth step will be slow, but I don't thing there is a
standard composition mode that does what you want by default.
I'm not 100% sure how to deal with alpha channels in A and B though, if
they are not just 0 or 255.
André
More information about the Interest
mailing list