我正在使用 Paint.NET 为我的用户控件创建图标。我想要适当的透明度,例如 32 位 PNG 或 BMPX提供。有办法实现吗?查看工具箱,常规的Label
控件似乎确实使用了完全透明的图标(除非MS假设工具箱背景始终为白色?)。
目前,我将我的图标嵌入为编译为嵌入资源的位图,并使用 ToolboxBitmapAttribute(Type, String)
构造函数。我尝试使用 ICO 或 PNG 或 BMPX,但这些都不起作用,它们甚至都不会显示,而简单的 BMP 确实会显示(使用左下角像素颜色作为透明颜色)。
最佳答案
内置的 Winforms 工具箱位图使用 Color.Fuchsia 作为背景颜色。作为 Bitmap.MakeTransparent() 颜色,这是一个相当标准的选择,它是一种漂亮的颜色,不太可能导致图像其余部分出现意外的透明度。下面是从 System.Windows.Forms.dll 程序集中检索的 Label 控件:
上传的时候变成了PNG,实际上是BMP。
关于c# - 有没有办法用 ToolboxBitmap 实现真正的透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357557/