2

我正在使用 Paint.NET 为我的用户控件创建图标。我想拥有像 32 位 PNG 或BMPX提供的适当透明度。有没有办法做到这一点?查看工具箱,常规Label控件似乎确实使用了完全透明的图标(除非 MS 假定工具箱背景始终为白色?)。

目前我将我的图标嵌入为编译到嵌入式资源的位图,并使用ToolboxBitmapAttribute(Type, String)构造函数。我尝试使用 ICO 或 PNG 或 BMPX,但这些都不起作用,它们甚至不显示,而一个简单的 BMP 确实显示(使用左下角像素颜色作为透明颜色)。

4

1 回答 1

3

内置的 Winforms 工具箱位图使用 Color.Fuchsia 作为背景颜色。作为 Bitmap.MakeTransparent() 颜色的一个非常标准的选择,它是一种很好的修饰颜色,不太可能导致图像的其余部分出现意外的透明度。这是从 System.Windows.Forms.dll 程序集中检索到的 Label 控件:

在此处输入图像描述

它在上传时变成了PNG,实际上是BMP。

于 2011-06-15T13:17:22.710 回答