2009-11-23 41 views
1

我在DataGridView和自定義控件中顯示了一些位圖圖像。這些都是基本的線性圖像而不是圖片。我最近注意到,它們看起來都有些褪色/被淘汰,當我檢查了我所拍攝的截圖時,我發現任何應該具有0值的顏色通道的值都是44。顏色通道的值爲255不受影響。.BMP在winform應用程序中更改圖像顏色

我用於工具欄圖標的PNG圖像不受影響。

這個問題似乎與FormList.resx文件中的ImageStream和ImageList一樣,可以追溯到在VS2k3中創建項目時的情況。那裏的圖像顯示正確;所以這似乎是VS2k8問題的某種形式或形式。

讀取2k8中的圖像似乎可以解決這個問題,但我的列表足夠長,足以讓這些煩人的時間消耗殆盡。還有什麼我可以做的,以撲滅它的行爲正確嗎?

回答

1

您可以將圖像添加到資源文件(例如Resources.resx)嗎?還是您需要使用ImageList?編輯資源文件比編輯ImageList容易得多,並且它具有額外的好處,即可以在構建時包含資源;這樣,如果你的圖像改變了,一個簡單的重新編譯將包括新的圖像。

+0

我可能可以這樣做,因爲我認爲直接訪問ImageList已經很好的封裝了。我從來沒有從Resources.resx中從代碼(vs設計器中的屬性頁面)訪問任何東西。有什麼我需要注意的嗎? – 2009-11-24 16:13:07

+0

如果使用Visual Studio設計器編輯資源文件,它將生成一個類型安全類結構供您在代碼中使用(例如'Bitmap b = Properties.Resources.Image1;')。 – 2009-11-24 18:39:38