取得位图的尺寸

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航