Question

Surface.blit comporte un nouveau paramètre dans la version 1.8: mélange. Les valeurs suivantes sont définies:

  • BLEND_ADD
  • BLEND_SUB
  • BLEND_MULT
  • BLEND_MIN
  • BLEND_MAX
  • BLEND_RGBA_ADD
  • BLEND_RGBA_SUB
  • BLEND_RGBA_MULT
  • BLEND_RGBA_MIN
  • BLEND_RGBA_MAX
  • BLEND_RGB_ADD
  • BLEND_RGB_SUB
  • BLEND_RGB_MULT
  • BLEND_RGB_MIN
  • BLEND_RGB_MAX

Quelqu'un peut-il expliquer la signification de ces modes?

Était-ce utile?

La solution

Vous pouvez trouver la source des opérations de mélange ici: surface.h

Fondamentalement, ADD ajoute les deux pixels source et coupe le résultat à 255. SUB soustrait les deux pixels et les clips à 0.

MULT : result = (p1 * p2) / 256

MIN : Sélectionnez la valeur inférieure de chaque canal (pas le pixel entier). Ainsi, si pixel1 est (100,10,0) et pixel2 est . (0,10,100) , vous obtenez (0,10,0)

MAX : Inverse de MIN (i.e. (100,10,100) )

Et il existe un mode de fusion supplémentaire qui n’est pas évident dans la documentation: 0 (ou laissez simplement le paramètre de côté). Ce mode va "tamponner". surface source dans la destination. Si la surface source a un canal alpha, cela déterminera comment "fort" chaque pixel est ( 0 = pas d'effet, 255 = copier un pixel, 128 : result = .5 * source + .5 * destination ).

Effets utiles: pour assombrir une zone donnée, utilisez le mode de fusion 0, remplissez la surface source / tampon en noir et définissez le paramètre alpha sur 10 : (0,0,0,10) .

Pour l’alléger, utilisez du blanc (255,255,255,10) .

Autres conseils

Ce sont des modes de fusion permettant de composer des images les unes sur les autres. Le nom du mode de fusion vous indique déjà l’opération sous-jacente.

Les constantes BLEND _ * sont simplement des alias pour les constantes BLEND_RGB _ * et les variantes BLEND_RGBA _ * opèrent sur les quatre canaux (y compris l'alpha canal), par opposition au RVB uniquement.

Pour des informations générales sur les différents modes de fusion et leurs effets respectifs, voir ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top