2010年1月3日 星期日

HW5

這次的做是讀取GIF檔案並且讀出調色盤資料,之後在將調色盤顯示在螢幕上。
老師在上課都時候有先講解GIF的檔案格式,並且附上範例程式,但是看到範例程式的時候讓我露出一抹微笑,呵,果然想錯了。

當初試作開啟GIF檔的時候,是參考之前所做的BMP的程式碼來寫,但是,寫完之後卻一直打不開?!格式的不同造成讀取的方式也要改,這點以後要多注意才行。

再來,就是修改老師給的範例程式了!每次這裡都是個大工程,因為每個人寫程式的時候的習慣不同,所寫出來的方式也就不一樣,像範例程式裡的許多變數名稱跟我一開始寫好的不同,所以這時候就要開始修改。

經過一番修改後,GIF檔的開啟順利完成了~!(話說...我這次又把自己程式介面給改掉了...突然發現程式實做出來後,要看檔案資訊還要按到頁面上的Information很麻煩,所以我把他跟圖片放在一起了)



開啟GIF中~



於是,GIF檔開啟成功!!圖片用的是老師給的金龜子圖,這時候改範例程式改很久的我真的超感動的,因為有些部分不明白是什麼意思,所以就一直上網查資料。當我感動之餘望向旁邊的GIF調色盤的時候...

這...這是3...不...這啥?那盤黑黑的墨汁盤是啥?

於是,這個時候只好默默的回去檢查程式碼,既然小金龜讀取沒有問題,那麼事情就簡單多了,我只要檢查調色盤部分的程式就好!

檢查的過程中,秀出畫面的256色存取格並沒有出錯,於是,我繼續往下找錯誤,發現那關鍵的變數k!

在程式碼中的變數k除了抓位用以外,他也是用來抓色彩值的數,把k讀進去後還要乘上之前轉灰階的數值,一開始時我把k的用處弄錯了...於是就手癢把他全改掉,搞出一盤黑墨汁,還要重新修改程式...




在幾經修改之後,終於讓我搞出右邊的256色調色盤啦!(灑花
接著就弄這次最主要的作業,將256色的調色盤排序~這個只要用Sort來排就OK了!至於比大小的值,就用灰階值來比啦! 而由暗到亮~亮到暗的差別就在於寫Sort時的大小於,所以就可以直接調嚕!

所以!排列順序成功!作業完成!

沒有留言:

張貼留言