這次作業用新的東西fopen & fread & fseek
bmp檔 這次作業用到的表頭
起始位元組 所占位元組數 具體內容 標識
1 2 檔案類型(windows點陣圖為“BM”)bfType
3 4 文件大小 bfSize
19 4 點陣圖的寬度 biWidth
23 4 點陣圖的高度 biHeight
39 4 點陣圖水準分辯率(像素/米) biXPelsPerMeter
43 4 點陣圖垂直分辯率(像素/米) biYPelsPerMeter
擷取檔案格式
imBMP = fopen(OpenPictureDialog1->FileName.c_str(), "r")
擷取檔案大小
fread(bSize, 1, 4, imBMP)
擷取檔案寬度
fseek(imBMP,18,SEEK_SET)
擷取檔案長度
fseek(imBMP,22,SEEK_SET)
擷取水平解析度
fseek(imBMP,38,SEEK_SET)
擷取垂直解析度
fseek(imBMP,42,SEEK_SET)
使用fseek可以直接抓取Bitmap File Header裡面你想要項目,不用像fread要抓取前面的空間不用的空間,但是抓取出的值會是 (像素/公尺)所以要除上39.37才會變成英吋!
沒有留言:
張貼留言