在C#中使用Alpha通道显示PNG

raf*_*lry 9 c# png transparency alpha

有没有办法在C#应用程序中正确显示带alpha通道的图像(比方说PNG)?谢谢你的任何建议.

更新:

好的,我的问题有点不高兴.我想获得alpha通道的真实透明度 - 不填充父母的背景颜色.在下图中,我们可以看到支持透明度,但是图像下方的按钮部分是不可见的.是否可以实现图像alpha通道的真实透明度?

图像呈现不完全透明度http://img684.imageshack.us/img684/8804/transpt.jpg

Kri*_*der 8

如果那是winforms那么没有.winforms中的"透明度"并不是真正的透明度.

你可以做的是创建一个透明的形式,绘制PNG并将其定位在正确的位置并绑定移动等. 替代文字 http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx

PerPixelAlphaForm transparentImageForm = new PerPixelAlphaForm();
transparentImageForm.SetBitmap(<IMAGE GOES HERE>,<OPACITY GOES HERE>);
Run Code Online (Sandbox Code Playgroud)

//不透明度是用于绘制图像的不透明度,值为255 =所有透明部分将与原始PNG等一样具有alpha /透明度.

编辑:或去WPF.


MrF*_*Fox 3

是的,System.Drawing.Image.FromFile("filename.png"); .NET 框架支持多种文件类型的透明度,我认为它不适用于 JPEG,但 PNG 应该没问题。