Ho due bitmap, denominati largeBmp e smallBmp. Voglio disegnare smallBmp su largeBmp, quindi disegnare il risultato sullo schermo. I pixel bianchi di SmallBmp dovrebbero essere trasparenti. Ecco il codice che sto usando:C#: Disegna un bitmap su un altro, con trasparenza
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;
}
Il problema è che il risultato si rivela trasparente ovunque piccoloBmp era trasparente! Voglio solo vedere fino a largeBmp, non a cosa c'è dietro.
+1, d'accordo. L'impostazione predefinita è buona. –
Ah, è stato così facile! –