VC開啟bmp檔案,讀取資訊

2021-05-28 17:00:42 字數 1099 閱讀 6751

file *fopen( const char *filename, const char *mode );mode一般為"r"或者"w",opens for reading. opens an empty file for writing.

fopen("g:\\test.txt",'w'); 可行

filename = dlg.getpathname(); 可以獲得路徑

///fread: reads data from a stream 從乙個流中讀資料

pointer to file structure

int fread(void *buffer, int size, int count, file *stream);

單個元素的大小(size) item size in bytes

元素個數(count)maximum number of items to be read

提供資料的檔案指標(stream)

返回值:成功讀取的元素個數

開啟檔案後讀取bmp檔案中的資料:

file *fp=fopen(filename,"r"); //按照filename的路徑開啟檔案

bitmapfileheader fileheader;

bitmapinfo info;

fread(&fileheader,sizeof(fileheader),1,fp); //讀取標頭檔案資訊

if(fileheader.bftype!=0x4d42)

fread(&info.bmiheader, sizeof(bitmapinfoheader), 1, fp); /*讀取資訊頭*/

long width=info.bmiheader.biwidth;

long height=info.bmiheader.biheight; //位圖高度及寬度

uchar *buffer=new uchar[info.bmiheader.bisizeimage]; //點陣圖的大小

fseek(fp,fileheader.bfoffbits,0); //重定位流上的檔案指標,接下來的操作將從新位置開始

fread(buffer,info.bmiheader.bisizeimage,1,fp);

已解決 ini檔案無法讀取資訊

c 的庫提供了現成的讀取.ini檔案的api getprivateprofileint和getprivateprofilestring,具體上網查。我的呼叫如下 int port getprivateprofileint l port l port 5555,l test.ini test.ini檔...

VC建立BMP檔案

byte data bmp資料 int pbitssize bmp資料大小 int intimgsize 生成的bmp檔案大小 cstring filename bmp檔名 void createbmp byte data,int pbitssize,int intimgsize,cstringfi...

BMP檔案的讀取

執行測試效果 void cmyview onreadbmp if strfilepath file fp fopen strfilepath,r bitmapfileheader fileheader bitmapinfo info fread fileheader,sizeof fileheade...