www.pudn.com > mfc资源大全1.rar > dimensions.shtml


 
 
    
    
   Bitmap & Palette - Getting the dimensions of a bitmap 
 
 

Getting the dimensions of a bitmap


For CBitmap objects we can use the GetBitmap() function to determine the height and width of the bitmap.
	// The variable bitmap is a CBitmap object 
	BITMAP bm; 
	bitmap.GetBitmap( &bm ); 
	bmWidth = bm.bmWidth; 
	bmHeight = bm.bmHeight; 

If you have a HBITMAP, you can attach it to a CBitmap object and use the method shown above or you can use

	// The variable hBmp is a HBITMAP 
	BITMAP bm; 
	::GetObject( hBmp, sizeof( bm ), &bm ); 
	bmWidth = bm.bmWidth; 
	bmHeight = bm.bmHeight; 

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; 


Goto HomePage
© 1998 Zafir Anjum 
Contact me: zafir@home.com