gpt4 book ai didi

C#:将一个位图绘制到另一个位图上,具有透明度

转载 作者:IT王子 更新时间:2023-10-29 04:49:13 24 4
gpt4 key购买 nike

我有两个位图,名为 largeBmp 和 smallBmp。我想将 smallBmp 绘制到 largeBmp 上,然后将结果绘制到屏幕上。 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,而不是它背后的东西。

最佳答案

CompositingMode.SourceCopy 是这里的问题。您希望 CompositingMode.SourceOver 获得 alpha 混合。

关于C#:将一个位图绘制到另一个位图上,具有透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3258577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com