读书人

使用GDI+载入一个透明背景的png,该如何

发布时间: 2012-03-15 11:50:38 作者: rapoo

使用GDI+载入一个透明背景的png
我写的虽然能载入png,但是后面的透明部分变成了黑色,求指导。

C/C++ code
HBITMAP hPlayBitmap = CreateCompatibleBitmap(hdc,50,50);    SelectObject(hMemDC,hPlayBitmap);    Graphics graph(hMemDC);    Image image(_T("Ply.png"),TRUE);    graph.DrawImage(&image,0,0,rect.right - rect.left,rect.bottom - rect.top);    BitBlt(hdc,0,0,50,50,hMemDC,0,0,SRCCOPY);


[解决办法]
处理带Alpha通道的图片一般用AlphaBlend
[解决办法]
我的天哪!非要复制过去一行不改就能显示?我在注释中写了啊,自己写两行代码,随便画什么都行啊!画个图片也是一样的道理。
Rect rtDes(0, 0, nWidth, nHeight);
pGraBitmap->DrawImage(&img, rtDes);
把这两行加在注释处,保证能出来图片!

读书人网 >C++

热点推荐