2009年11月5日 星期四

HW3








這次作業用新的東西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才會變成英吋!

沒有留言:

張貼留言