顯示廣告
隱藏 ✕
看板 Knuckles
作者 Knuckles(阿德)
標題 [程式] CImage 更新
時間 2007年12月15日 Sat. PM 05:55:32


對CImage做了一些更新,請大家以後抓新的來用
CImage.h   (按右鍵另存)
CImage.cpp (按右鍵另存)

首先就是個重大的Bug
BMP圖檔中每個點的RGB值其實是存成 B G R 的順序
而我一直以為是 R G B
所以CImage中GetPixel()與SetPixel()的R和B是放反的

只是以往做過的處理中,剛好對R和B都是做一樣的運算,再存回去
所以都沒發現放反了 XD
直到這次DIP作業四才出問題 哈哈

另外為了這次作業四對於RGB的存取方便
新加了一些member function:

//輸入pixel的xy坐標,輸出pixel的R、G、或B值(0~255)
BYTE GetR(int x, int y)
BYTE GetG(int x, int y)
BYTE GetB(int x, int y)

//輸入pixel的xy坐標與希望設定pixel的R、G、或B值(0~255)
void SetR(int x, int y, BYTE value)
void SetG(int x, int y, BYTE value)
void SetB(int x, int y, BYTE value)

還有原本就有設的檢查機制
在不小心存取超過圖檔的寬或高時會出現警告而不至讓程式當掉
現在加上了輸入的座標為負值時也會警告,並顯示出輸入的座標值為多少


--
※ 來源: 台大電信 DISP 實驗室 (http://disp.twbbs.org)
※ 作者: Knuckles  來自: 140.112.175.130  時間: 2007-12-15 17:55:32
※ 編輯: Knuckles  來自: 140.112.175.130  時間: 2007-12-17 19:32:03
※ 編輯: Knuckles  時間: 2010-10-23 04:41:58  來自: 111-248-0-184.dynamic.hinet.net
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 635 
※ 文章分類: 程式設計 C/C++
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇