C #: dibuje un mapa de bits en otro, con transparencia
Tengo dos mapas de bits, llamados largeBmp y smallBmp. Quiero dibujar smallBmp en largeBmp, luego dibujar el resultado en la pantalla. Los píxeles blancos de SmallBmp deben ser transparentes. Aquí está el código que estoy usando:
public Bitmap Superimpose(Bitmap largeBmp, Bitmap smallBmp) {
Graphics g = Graphics.FromImage(largeBmp);
g.CompositingMode = CompositingMode.SourceCopy;
smallBmp.MakeTransparent();
int margin = 5;
int x = largeBmp.Width - smallBmp.Width - margin;
int y = largeBmp.Height - smallBmp.Height - margin;
g.DrawImage(smallBmp, new Point(x, y));
return largeBmp;
}
¡El problema es que el resultado se vuelve transparente donde sea que smallBmp fuera transparente! Solo quiero ver a través de largeBmp, no a lo que hay detrás.