C语言 BMP24位变单色,怎么将24位色BMP图片改为单色或16色?(2)
當前位置:我的異常網? VC/MFC???怎么將24位色BMP圖片改為單色或16色?
怎么將24位色BMP圖片改為單色或16色?(2)
www.myexceptions.net??網友分享于:2013-01-10??瀏覽:432次
GetClientRect(hWnd,&rc);
Width ? ? ? ? ? = ? ? ? rc.right-rc.left;
Height ? ? ? = ? ? ? rc.bottom-rc.top;
}
hDC ? ? ? ? ? ? ? ? ? = ? ? ? GetDC(hWnd); ? ? ? ? ? ? //獲取指定的DC
hMemDC ? ? ? = ? ? ? CreateCompatibleDC(hDC);
hBitmap= ? ? ? CreateCompatibleBitmap(hDC, ? ? ? Width, ? ? ? Height);
hTmpBmp= ? ? ? CreateCompatibleBitmap(hDC, ? ? ? 8, ? ? ? 8);
pBmInfoMem ? ? ? = ? ? ? (LPBITMAPINFO)GlobalAlloc(GHND, ? ? ? sizeof(BITMAPINFO)+256*sizeof(RGBQUAD));
pBmInfo ? ? ? = ? ? ? (LPBITMAPINFO)GlobalLock(pBmInfoMem);
SelectObject(hMemDC, ? ? ? hBitmap);
BitBlt(hMemDC,0,0,Width,Height,hDC,0,0,SRCCOPY);
SelectObject(hMemDC, ? ? ? hTmpBmp);
ZeroMemory(pBmInfo, ? ? ? sizeof(BITMAPINFO));
pBmInfo-> bmiHeader.biSize ? ? ? = ? ? ? (DWORD)sizeof(BITMAPINFOHEADER);
pBmInfo-> bmiHeader.biWidth ? ? ? ? ? ? ? ? ? ? ? ? ? = ? ? ? Width;
pBmInfo-> bmiHeader.biHeight ? ? ? ? ? ? ? ? ? ? ? ? ? = ? ? ? Height;
pBmInfo-> bmiHeader.biPlanes ? ? ? ? ? ? ? ? ? ? ? ? ? = ? ? ? 1;
pBmInfo-> bmiHeader.biBitCount ? ? ? ? ? ? ? ? ? = ? ? ? (WORD)GetDeviceCaps(hDC, ? ? ? BITSPIXEL);
pBmInfo-> bmiHeader.biCompression ? ? ? = ? ? ? BI_RGB;
//pBmInfo-> bmiHeader.biCompression ? ? ? = ? BI_RLE8;
GetDIBits(hDC, ? ? ? hBitmap, ? ? ? 0,Height, ? ? ? NULL, ? ? ? pBmInfo, ? ? ? DIB_RGB_COLORS);
文章評論
總結
以上是生活随笔為你收集整理的C语言 BMP24位变单色,怎么将24位色BMP图片改为单色或16色?(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字图像处理:四连通域与八连通域
- 下一篇: IAR STM32报错Error[Pe1