从 CBitmap类对象中获取位图尺寸我们可用GetBitmap()函数 。 
获取位图尺寸// 变量bitmap是一个CBitmap类对象
获取位图尺寸
BITMAP bm;
获取位图尺寸bitmap.GetBitmap( 
&bm );
获取位图尺寸bmWidth 
= bm.bmWidth;
获取位图尺寸bmHeight 
= bm.bmHeight;

如果你有一个 HBITMAP句柄,你可以将它附加到一个CBitmap类对象上,再用上述方法
获取尺寸
获取位图尺寸// 变量hBmp是一个HBITMAP句柄
获取位图尺寸
BITMAP bm;
获取位图尺寸::GetObject( hBmp, 
sizeof( bm ), &bm );
获取位图尺寸bmWidth 
= bm.bmWidth;
获取位图尺寸bmHeight 
= bm.bmHeight;

从BMP位图文件中获取位图尺寸可用下述方法。
获取位图尺寸CFile file;
获取位图尺寸
// sBMPFileName是BMP位图文件名
获取位图尺寸
if!file.Open( sBMPFileName, CFile::modeRead) )
获取位图尺寸
return ;
获取位图尺寸
获取位图尺寸BITMAPFILEHEADER bmfHeader;
获取位图尺寸
获取位图尺寸
// 读文件头
获取位图尺寸
if (file.Read((LPSTR)&bmfHeader, sizeof(bmfHeader))
获取位图尺寸    
!= sizeof(bmfHeader))
获取位图尺寸    
return ;
获取位图尺寸
获取位图尺寸
// 确定文件类型标记’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;

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-03
  • 2021-09-03
  • 2021-09-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2021-09-12
  • 2021-09-28
  • 2021-09-28
  • 2021-06-11
相关资源
相似解决方案