看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) c++ builder 6 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) mil Lib (類似opencv的影像lib) 問題(Question): 彩色轉灰階異常 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/vNZw5k 結果圖片如下,左邊是image1 右邊是image2 http://dropcanvas.com/nyrl5/1 圖B http://dropcanvas.com/nyrl5/2 圖A image1是直接讀取現成的圖片,image2是透過mil截取image1資料放入buffer 再將buffer匯出成一張bmp,再將圖放入TImageBox(image2內)顯示出來 參考這個網頁的寫法 http://sean1223.blogspot.tw/2010/01/bcb-pixel-rgb.html 再對照程式碼 image1和image2的寫法是一樣的 1.采用網頁的方法一,結果如圖A 2.采用網頁的方法二和三,結果如圖B 請問會造成這樣的結果是為什麼呢? 謝謝 ※ 編輯: tyc5116 來自: 220.134.238.4 (11/06 14:27)
EdisonX:你的 b,g,r 是 int ?? 11/06 14:42
tyc5116:是的,但會覺得會造成這樣異常,type應該問題不大 11/06 14:51
Bencrie:pixel format 32bits 結果第一個方法是乘 3 ? 11/06 15:07
tyc5116:bit的部份我就不是很清楚了,不過image1的結果看起來是對的 11/06 15:19
tyc5116:抱歉,這陣子在自學,還有很多不清楚的地方 11/06 15:19
Bencrie:你可以試著把方法一改成 *4 看看結果如何 @@ 11/06 15:22
tyc5116:可以了耶,謝謝,上wiki看了一下,但有一句不懂 11/06 15:29
tyc5116:"餘下的8bit不分配到象素中"->那又為何要變*4 ? 11/06 15:29
peefly:他的意思是某些情況下沒用到、不用於顯示吧 11/06 15:40
tyc5116:好的,謝謝推文的各位 11/06 15:41