Ce programme montre quelques exemples d'utilisation de la transparence.
Nous rapellons que les couleurs sont codées à l'aide de 4 composantes:
codées chacune sur un octet, c'est à dire par un entier comprit entre 0 et 256.
La transparence joue un role lorsque une image est dessinée à l'écran ou sur une autre image. Lorsque l'on copie une image, les pixels du résultat final sont obtenus en faisant le barycentre entre le pixel de l'image source avec celui de l'image destination. Les poids des barycentres sont définis par la composante transparence ( composante alpha ) de l'image source. La transparence de l'image destination reste inchangée.
Cela nous donne les formules suivantes:
R_dest = (alpha_src/256) * R_src + (1- alpha_src/256) * R_dst V_dest = (alpha_src/256) * V_src + (1- alpha_src/256) * V_dst B_dest = (alpha_src/256) * B_src + (1- alpha_src/256) * B_dst A_dest = A_dest
Ainsi, si l'a composante alpha de l'image source est à 0, alors la source disparait. Si elle à est 256, alors c'est l'image destination qui disparait.
Voici un exiemple avec les couleurs suivantes:
Comme la composante alpha est à 128, la couleur finale est donc à moitié celle de l'image source (128/256) et à moitié celle de l'image destination (1-128/256).