這次的作業是將上次以LoadFromFile的開圖檔方式,改成OpenPictureDialog->Excute(),開圖的方式就變成以點去掃圖,從左下角開始掃圖到右上角結束,而圖片的每個像素點是一個BGR組成,很神奇的是並不是RGB,所以這次掃圖的方式開圖檔會比之前的LoadFromFile的速度慢一些,而我也參考了老師的範例程式,註解非常詳細讓我一看就懂,這次多用了struct和unsigned宣告新的資料型態而unsigned還是第一次學,到靠近期末的資料結構課也用到了,使我更熟悉,老師這次也幫我們解決了圖檔高和寬不是4的倍數的問題,因為這次是每點去描圖,所以產生了LoadFromFile沒有的一個問題,如果圖檔高寬不是4的倍數整張圖讀出來會被扭曲變形,很開心老師幫我們解決了這個問題,而其他顯示圖片內容的信息,做法還是跟上次一樣,還是須靠維基百科的幫助,查詢BMP檔的位元組,維基在這幾堂課真的對我們來說很重要,他的重要度當然不只這樣,不過中文的維基資料就比英文的少了許多,老師還帶我們看了英文版的,所以一定要強迫自己看英文,最後我還是有個問題,就是顯示圖片信息的水平解析度和垂直解析度,有時候會出現"0"和圖片信息內容不符,但有時又可出現正確的。
上圖是出現錯誤水平解析度和垂直解析度2010年1月15日 星期五
訂閱:
張貼留言 (Atom)
因為水平解析度和垂直解析度並不是必要的資料, 只有在列印時會用到, 所以有些應用軟體並沒有把資料確實存到檔案中, 所以你就讀不出來囉!
回覆刪除