首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

相熟GDI编程的同学帮忙看看,AlphaBlend 透明图像的绘制

2012-11-03 
熟悉GDI编程的同学帮忙看看,AlphaBlend 透明图像的绘制C# codeprotected override void OnPaint(PaintEven

熟悉GDI编程的同学帮忙看看,AlphaBlend 透明图像的绘制

C# code
        protected override void OnPaint(PaintEventArgs e)        {            base.OnPaint(e);            IntPtr hdc = GetDC(Handle);            mdc = CreateCompatibleDC(hdc);            IntPtr hbmp = CreateCompatibleBitmap(hdc, ClientSize.Width, ClientSize.Width);            SelectObject(mdc, hbmp);            //从mdc中构建Graphics对象            Graphics g = Graphics.FromHdc(mdc);            //SetBkMode(mdc, TRANSPARENT);            g.DrawImage(_CloseBmp, ClientRectangle, 0, 0, _CloseBmp.Width, _CloseBmp.Height, GraphicsUnit.Pixel);            AlphaBlend(hdc, 0, 0, ClientRectangle.Width, ClientRectangle.Height, mdc, 0, 0, ClientRectangle.Width, ClientRectangle.Height, new BLENDFUNCTION(255));            DeleteDC(mdc);            DeleteObject(hbmp);            ReleaseDC(Handle, hdc);        }


这个是我的代码,但是不知道问题出在哪里,找了好久了都。

[解决办法]
你不知道问题出在哪里。。我不知道出了什么问题。。
[解决办法]
从dc获取的图象不可能是png的要自己转。
转成png再绘上去。

热点排行