2011-06-15 103 views
2

我使用Paint.NET爲我的usercontrols創建圖標。我想有適當的透明度,如32位PNG或BMPX規定。有沒有辦法實現這一點?看看這個工具箱,常規的Label控件似乎使用了一個完全透明的圖標(除非MS假設總是白色的工具箱背景?)。有沒有辦法通過ToolboxBitmap實現真正的透明度?

目前我正在將我的圖標嵌入到編譯爲嵌入資源的位圖中,並使用ToolboxBitmapAttribute(Type, String)構造函數。我嘗試使用ICO或PNG或BMPX,但沒有任何工作,他們甚至沒有顯示,而簡單的BMP顯示(使用左下角的像素顏色作爲透明顏色)。

+0

*真實*透明度?不,但如果你使用位圖,僞造的透明工作得很好。漢斯解釋了下面的所有細節。 – 2011-06-15 13:27:42

+0

謝謝。可惜,在過去的幾個月中,我逐漸認識到PDN的抗濫用能力。 – takrl 2011-06-15 13:49:12

回答

3

內置的Winforms工具箱位圖使用Color.Fuchsia作爲背景顏色。作爲Bitmap.MakeTransparent()顏色的一個非常標準的選擇,它是一種很好的融合顏色,不會在圖像的其餘部分導致意外的透明度。下面是一個Label控件,從System.Windows.Forms.dll程序檢索:

​​

它得到變成了PNG,同時上傳,它實際上是一個BMP。

+0

謝謝。我不知道如何從System.Windows.Forms中提取原始圖像,否則我可能會先檢查它。我記得VB6時代的那種顏色,當時它也用於相同的目的。 – takrl 2011-06-15 13:50:33

相關問題