2009年11月26日 星期四

HW4




在這次的開BMP圖檔的作業中,是要以C語言中檔案存取的指令(fopen,fread,fseek...)來開啟,
而不是使用c++builder裡所內建的Image1 -> Picture -> LoadFromFile...來開檔。
我們在之前的作業三當中已經利用fopen,fread,fseek指令來讀取圖檔資訊(檔案大小,圖片高寬等等)
若想要將影像秀出螢幕上,我們勢必要先讓fseek指標指到影像原始碼的位置(原始碼的部分可由PSPad這套軟體來檢視),
然後再用fread去讀,我們讀到的東西會先擺入一個陣列中,陣列有3個空間分別來擺放色彩R,G,B值,而這RGB值就可以表示一個像素"點",不過程式只這樣寫還不夠,如此讀到的只有一個像素點而已,因此我們必須要用兩個迴圈來寫,外迴圈是跑圖的高的部分,內迴圈是跑圖的寬的部分,而程式的大鋼就是如此。

在這次的作業中,fopen,fread,fseek這些指令經過前面幾次的練習都熟悉的差不多了,沒有甚麼大困難
,而比較會有問題的地方大概會在讀檔時該用怎樣的讀法?一次讀幾個byte?讀到的東西該暫存到怎樣的資料型態?然後在怎樣丟入image中?丟完後指標該怎麼指?

基本上這些問題排除了,那程式也差不多會寫了,其實程式還滿短的,自己寫完後也覺得不算太難!

沒有留言:

張貼留言