当前位置:  开发笔记 > 编程语言 > 正文

如何使用GDI +绘制ARGB位图?

如何解决《如何使用GDI+绘制ARGB位图?》经验,为你挑选了1个好方法。

我有ARGB类型的有效HBITMAP句柄.如何使用GDI +绘制它?

我试过方法:graphics.DrawImage(Bitmap :: FromHBITMAP(m_hBitmap,NULL),0,0); 但它不使用alpha通道.



1> 小智..:

我有工作样本:

// 1.使用位图句柄获取信息:图像大小,位
BITMAP bmpInfo;
::GetObject(m_hBitmap, sizeof(BITMAP), &bmpInfo);
int cxBitmap = bmpInfo.bmWidth;
int cyBitmap = bmpInfo.bmHeight;
void* bits = bmpInfo.bmBits;

// 2.使用像素格式为PixelFormat32bppARGB的位创建并绘制新的GDI +位图
Gdiplus::Graphics graphics(dcMemory);
Gdiplus::Bitmap bitmap(cxBitmap, cyBitmap, cxBitmap*4, PixelFormat32bppARGB, (BYTE*)bits);
graphics.DrawImage(&bitmap, 0, 0);

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有