在 C# 中,如何在不使用 Bitmap.MakeTransparent() 的情况下将图像设置为透明背景?

2024-04-16

我想将图像设置为具有透明背景,但我不想用透明度替换特定颜色的所有像素。

更具体地说,该图像是通过 IShellItemImageFactory.GetImage 获取的文件夹的缩略图。这给了我一个位图,如 Windows 资源管理器缩略图视图中显示的那样,但背景是纯白色的。

我可以在其上使用 Bitmap.MakeTransparent,这在大多数情况下都有效,但在缩略图图像本身包含白色的任何情况下(例如,包含图像的文件夹,其中包括白色)。

顺便说一句,这是作为一名开发人员 10 多年来第一次,在谷歌搜索我的问题后,我在任何地方都找不到答案,实际上我不得不自己问。 (我认为这意味着我刚刚升级了!Yippee,我现在是 2 级开发人员......)


根据需要,使用洪水填充算法从外部填充相同颜色的像素。它类似于 Photoshop 中的魔杖。

http://en.wikipedia.org/wiki/Flood_fill http://en.wikipedia.org/wiki/Flood_fill

我要做的是用一些模糊的颜色进行洪水填充(洋红色总是为我做),然后用透明替换该颜色(我不知道用透明像素进行洪水填充是否可行)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中,如何在不使用 Bitmap.MakeTransparent() 的情况下将图像设置为透明背景? 的相关文章

随机推荐