VC中获取BMP图片高度与宽度的两种方法

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

一、利用BMP文件格式读取

HANDLE hFile;

BITMAPFILEHEADER bmpfheader;

BITMAPINFOHEADER bmpiheader;

DWORD nBytesRead;

hFile=CreateFile(filename,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

ReadFile(hFile,&bmpfheader,sizeof(BITMAPFILEHEADER),&nBytesRead,NULL);

ReadFile(hFile,&bmpiheader,sizeof(BITMAPINFOHEADER),&nBytesRead,NULL);

CloseHandle(hFile);

其中,bmpiheader.biWidth为图片的宽度,bmpiheader.biHeight为图片的高度

参考资料:BMP文件格式分析(http://asp.6to23.com/iseesoft/devdoc/imgdoc/bmp_fileformat.htm

二、利用GDI中的GetObject函数

//m_hdc为当前窗体的DC句柄。

HDC hdc;

BITMAP bmp;

hdc=CreateCompatibleDC(m_hdc);

hPic=(HBITMAP)LoadImage(NULL,filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

GetObject(hPic,sizeof(BITMAP),&bmp);

其中bmp.bmWidth为图片宽度,bmp.bmHeight为图片高度

参考资料:《Visual C++游戏编程基础》,荣钦科技

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