2009-03-02 19 views
7

Surface.blit tiene un nuevo parámetro en 1.8: blend. Los siguientes valores se definen:¿Qué significan los modos de fusión en pygame?

  • 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

Puede someon e explicar lo que significan estos modos?

Respuesta

9

Puede encontrar la fuente de las operaciones de mezcla aquí: surface.h

Básicamente, ADD suma los dos píxeles de origen y clips El resultado al 255. SUB resta los dos píxeles y clips a 0.

MULT : result = (p1 * p2)/256

MIN: Seleccionar el valor inferior de cada canal (no todo el píxel), por lo que si es pixel1 (100,10,0) y pixel2 es (0,10,100), se obtiene (0,10,0)

MAX: Opuesto a MIN (es decir (100,10,100))

Y hay un modo de mezcla adicional que no es obvio en los documentos: 0 (o simplemente deje el parámetro fuera). Este modo "sellará" la superficie de la fuente en el destino. Si la superficie de origen tiene un canal alfa, esto determinará qué tan "fuerte" es cada píxel (0 = sin efecto, 255 = copia de píxeles, 128: result = .5*source + .5*destination).

Efectos útiles: Para oscurecer un área determinada, utilice el modo de combinación 0, complete la fuente/superficie de sello negra y configure alfa en 10: (0,0,0,10).

Para aclararlo, utilice blanco (255,255,255,10).

+0

¿No debería ser el resultado para el ejemplo MIN (0, 10, 0)? –

+0

@AleksiTorhamo: Tienes toda la razón. Fijo. –

2

Esos son modos de fusión para la composición de imágenes uno encima del otro. El nombre del modo de fusión ya le dice la operación subyacente.

Las constantes BLEND_* son simplemente alias para las constantes BLEND_RGB_* y las variantes BLEND_RGBA_* operan en los cuatro canales (incluido el canal alfa) en lugar de solo RGB.

Para obtener información general sobre los diferentes modos de fusión y sus respectivos efectos, consulte here.

+0

Gracias por la respuesta. ¿Puedes darnos algunos consejos sobre cuándo usar qué tipo de combinación? –

+0

Todo depende de lo que quiera lograr. Puede ser un poco contrario a la intuición, pero teniendo en cuenta lo que hace cada modo te dice qué color produce qué efecto. Puede usar software de gráficos como GIMP o Paint.NET para jugar con los modos de fusión, ya que son básicamente los mismos para las capas. – Joey

Cuestiones relacionadas