= HBITMAP 에서 BMP 파일로 추출 = {{{~cpp //********************************************************************* // CImageTool::ExportAsBMP() // Purpose: [CBitmap에 저장되어있는 이미지를 Bmp파일로 만든다.] // Parameters: // [type] : 1 픽셀당 Bit 수 // [*filename] : 만들어질 bmp파일이름 // [*pDC] : Device Context // [hBitmap] : 이미지가 저장되어 있는 CBitmap (HBITMAP으로 변화하여 사용) // [nWidth] : 이미지의 넓이 // [nHeight] : 이미지의 높이 // Returns: BOOL //********************************************************************* BOOL CImageTool::ExportAsBMP(int type, char *filename, CDC *pDC, HBITMAP hBitmap, int nWidth, int nHeight) { BYTE *bmp; BITMAPFILEHEADER header; FILE *fp; unsigned int size, palsize; BOOL r = FALSE; if ((bmp=GetBMP(type, nWidth, nHeight, hBitmap, pDC->m_hDC, &size)) == NULL) return FALSE; if (type != 3) palsize = 1<bmiHeader.biSize = sizeof(BITMAPINFOHEADER); lpvBits->bmiHeader.biWidth = w; lpvBits->bmiHeader.biHeight = h; lpvBits->bmiHeader.biPlanes = 1; lpvBits->bmiHeader.biBitCount = bit[type]; lpvBits->bmiHeader.biCompression = BI_RGB; lpvBits->bmiHeader.biSizeImage = width*h; lpvBits->bmiHeader.biXPelsPerMeter = 0; lpvBits->bmiHeader.biYPelsPerMeter = 0; lpvBits->bmiHeader.biClrUsed = 1<bmiHeader.biClrImportant = 1<