用GetBitmap()函数确定位图的高度和宽度:
// The variable bitmap is a CBitmap object BITMAP bm; bitmap.GetBitmap( &bm ); bmWidth = bm.bmWidth; bmHeight = bm.bmHeight;
如果已有HBITMAP,可以附加它到CBitmap对象:
// The variable hBmp is a HBITMAP BITMAP bm; ::GetObject( hBmp, sizeof( bm ), &bm ); bmWidth = bm.bmWidth; bmHeight = bm.bmHeight;
对于BMP文件中的图像,可以采用下面方法:
For images in a BMP file, you can use something like
CFile file; // sBMPFileName is the BMP filename if( !file.Open( sBMPFileName, CFile::modeRead) ) return ; BITMAPFILEHEADER bmfHeader; // Read file header if (file.Read((LPSTR)&bmfHeader, sizeof(bmfHeader)) != sizeof(bmfHeader)) return ; // File type should be 'BM' if (bmfHeader.bfType != ((WORD) ('M' << 8) | 'B')) return ; BITMAPINFOHEADER bmiHeader; if (file.Read((LPSTR)&bmiHeader, sizeof(bmiHeader)) != sizeof(bmiHeader)) return ; int bmWidth = bmiHeader.biWidth; int bmHeight = bmiHeader.biHeight;