2010-06-24 32 views
9

有沒有辦法在C#應用程序中正確顯示與alpha通道(讓我們說PNG)的圖像?謝謝你的任何建議。顯示在C中的alpha通道的PNG#

更新:

好的,我的問題有點不莊重。我想要獲得alpha通道的真實透明度 - 不能填充父級的背景顏色。在下面的圖片中,我們可以看到支持透明度,但位於圖片下方的按鈕部分不可見。是否有可能有一個圖像的alpha通道真正的透明度?

image presenting not-total transparency http://img684.imageshack.us/img684/8804/transpt.jpg

+4

什麼類型的應用程序? WinForm的? WPF? html/ASP.NET? html/ASP.NET MVC? Silverlight的? XNA?電話7? Windows Mobile?蘋果手機?腕錶(微框架)? gtk#(單聲道)? – 2010-06-24 11:54:07

+2

「不正確顯示」是什麼樣子? – 2010-06-24 12:57:48

+0

@Marc Gravell - 這是一個標準的C#窗體表單應用程序 @Hans Passant - 很好的提示 - 請參閱UPDATE – rafalry 2010-06-24 13:40:59

回答

3

是,System.Drawing.Image.FromFile( 「filename.png」); .NET框架支持多種文件類型的透明度,我不認爲它可以用於JPEG,但PNG應該沒問題。

6

如果是這樣的WinForms則沒有。 winforms中的「透明度」不是真正的透明度。

你可以做什麼是創建繪製PNG文件並在正確的位置的位置和綁定移動等 alt text http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx

PerPixelAlphaForm transparentImageForm = new PerPixelAlphaForm(); 
transparentImageForm.SetBitmap(<IMAGE GOES HERE>,<OPACITY GOES HERE>); 

//不透明度alphatransparent形式的不透明度,圖像將被繪製,值爲255 =所有透明部分將與原始PNG等一樣多爲alpha /透明。

編輯:或轉到WPF。

相關問題