2009年11月5日 星期四

HW3

           這是最一開始把圖片讀進程式內。

           第一個跳出的視窗顯示此圖片為BMP檔




這裡顯示出4串數字
           這張圖片顯示出它的大小佔用多少位元組。



           顯示此張圖片寬度由左邊圖片內容對照。



           顯使圖片的高度由左邊圖片內容對照。



老師這週交的內容,一開始程式碼打好之後,卻一直跑不出來,原來是前面忘了加上


stdio.h的標頭檔


後來在課堂上就已經慢慢弄懂了,因為老師有提供程式碼,


先告訴我們寬度如何去設定,讓它算出來然後顯示在視窗上,


主要用到fopen、fread、fseek。


iFileSize = bSize[0] + bSize[1] * 256 + bSize[2] * 256*256 + bSize[3] * 256*256*256;

這是主要的算法,當然高度也是一樣畫葫蘆就可以算出來了,後來老師在課程即將結束前又提供了另一種程式碼,告訴我們可以不需要寫這麼多,只要設定一些東西就可以讓它一樣算出我們想要的東西,但是下課時間一到心就飄走了,並不是很仔細的聽.....如果可以的話,希望老師上課時能再幫我們講解一遍。另外還很好奇的是,如果要讓圖片內容所呈現的資料,都顯示出來,那是不是後續的算法又變的不大相同?試著用自己的想法去打出一些程式碼,可是往往就是一堆bug.....我也知道只要有辦法自己除錯完成的話,那後面學到的就都是自己的了,可是偏偏邏輯思考能力還是略顯不足,要自己想出一串正確的程式碼還是顯得有些吃力.......
這是老師說需要把原本跳出視窗的資料一一顯示在介面上的,其實這個並不難,只要把"showmessage改成Label->Caption="就可以了,可是我發現了一個問題....解析度的公式就是之前bSize[0] + bSize[1] * 256 + bSize[2] * 256*256 + bSize[3] * 256*256*256;除39.37,可是我不管怎麼改程式碼顯示出的解析度,都不大對.....其他資料都正常顯示了....可是解析度就是怪怪的。













3 則留言:

  1. 這個作業是 Homework 3 吧!

    回覆刪除
  2. 老師 我有重新排過了
    因為之前作業一跟二我直接弄在一起
    所以我才把這個檔名改成作業2
    現在改回來了 作業一也放上去了

    回覆刪除