我有两个位图,分别命名为largeBmp和smallBmp。我想要在largeBmp上绘制smallBmp,然后将结果绘制到屏幕上。SmallBmp的白色像素应该是透明的。这里是我正在使用的代码:
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;
}
问题在于,无论smallBmp哪里是透明的,结果都会变成透明的!我只想看到largeBmp的背景,而不是它后面的内容。