[C con Clase] Pregunta sobre Bitmaps

Programante programante en gmail.com
Mar Ene 29 12:52:08 CET 2008


alan escribió:
> Hola a todos, de antemano agradesco la ayuda que puedan brindarme.
>
> Estoy haciendo un programa con bitmaps y lo que quiero es poder mover y/o colocar una imagen (un dibujo con un fondo blanco) sobre otra imagen sin que la cubra en las partes donde esta el fondo, revisando el ejemplo del capitulo 21 sobre bitmaps pude observar que se puede hacer con el codigo ROP SRCPAINT pero solo si el fondo de la imagen es negro me gustaria saber como se puede hacer para imagenes con otro color de fondo (en mi caso mi imgen tiene fondo blanco)
>   
El fondo negro se representa con el valor 0 (más concretamente (0,0,0) 
en colores luz). SRCPAINT combina los colores de los rectángulos de 
origen y destino usando el operador booleano OR. X OR 0 = X, por lo que 
el color negro "queda transparente". El blanco es 0xFFFFFF, así que 
necesitarías una operación AND: SRCERASE o MERGECOPY. De modo que las 
zonas blancas muestren el color que había debajo.
El problema es que dependiendo de los colores de la imagen, es posible 
que se te modifiquen los colores que pones. Motivo por el cual se suele 
usar una tercera imagen en blanco y negro como máscara, para especificar 
qué partes queremos que se comporten como transparentes y cuáles pintar.
Finalmente, está la opción de trabajar a más bajo nivel con las 
estructuras de los bitmaps y copiando los colores de uno al otro if 
color_punto != blanco.

Espero que te sea útil.





Más información sobre la lista de distribución Cconclase