Есть ли способ добиться реальной прозрачности с ToolboxBitmap? - PullRequest
2 голосов
/ 15 июня 2011

Я создаю значки для своих пользовательских элементов управления с помощью Paint.NET.Я хотел бы иметь надлежащую прозрачность, как 32-битный PNG или BMPX .Есть ли способ достичь этого?Глядя на панель инструментов, обычный элемент управления Label, похоже, использует полностью прозрачный значок (если MS не использует всегда белый фон панели инструментов?).

В настоящее время я встраиваю свои иконки в виде растровых изображений, скомпилированных во встроенный ресурси используйте конструктор ToolboxBitmapAttribute(Type, String).Я пытался использовать ICO, PNG или BMPX, но ничего из этого не работает вообще, они даже не отображаются, тогда как отображается простой BMP (используя цвет пикселя в левом нижнем углу в качестве прозрачного цвета).

1 Ответ

3 голосов
/ 15 июня 2011

Встроенные растровые изображения панели инструментов Winforms используют Color.Fuchsia в качестве цвета фона.Довольно стандартный выбор, такой как цвет Bitmap.MakeTransparent (), это хороший слитный цвет, который вряд ли приведет к непреднамеренной прозрачности остальной части изображения.Вот элемент управления Label, полученный из сборки System.Windows.Forms.dll:

enter image description here

При загрузке он превратился в PNG, на самом деле это BMP.

...