BYTE *imShow = new BYTE[height*width];
for(int j=height-1,cur=0;j>=0;--j)
{
for(int i=0; i<width; ++i)
imShow[cur++] = (BYTE)imRot[j][i];
}
if (m_bmp.m_hObject!=NULL) //判断
m_bmp.DeleteObject();
//载入图片
/*HBITMAP show2Dbmp = CreateBitmap(width,height,1,24,NULL);
DWORD error = GetLastError();*/
PVOID pBits = NULL;
BITMAPINFO *bi = (BITMAPINFO *) new unsigned char[ sizeof(BITMAPINFOHEADER) + 1024];
//ZeroMemory(&bi,sizeof(bi));
bi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bi->bmiHeader.biWidth = width;
bi->bmiHeader.biHeight = height;
bi->bmiHeader.biPlanes = 1;
bi->bmiHeader.biBitCount = 8;
bi->bmiHeader.biCompression = BI_RGB;
bi->bmiHeader.biSizeImage = (((width+3)/4)*4) * height;
for(int n=0; n<256; n++)
{
bi->bmiColors[n].rgbRed=n;
MFC中显示像素值保存在二维数组中的BMP图像
最新推荐文章于 2022-06-13 22:17:41 发布
该博客介绍了如何在MFC应用程序中显示存储在二维数组中的BMP图像。首先,将二维数组的像素值复制到一维BYTE数组中,然后利用CreateDIBSection和SetBitmapBits函数创建并设置位图,最后将其附加到CStatic控件以显示图像。
摘要由CSDN通过智能技术生成