線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3212
推到 Plurk!
推到 Facebook!

請問各位大大...BMP格式裡RGB怎麼分配的

尚未結案
kevinhsu
一般會員


發表:1
回覆:2
積分:0
註冊:2004-11-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-16 11:38:00 IP:211.72.xxx.xxx 未訂閱
請問各位高手: BMP格式裡256色摩式下在每個Byte的RGB是怎麼分配的,不知有沒有文件可以參考的
stellos
中階會員


發表:24
回覆:84
積分:51
註冊:2004-06-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-17 09:07:17 IP:61.60.xxx.xxx 未訂閱
就我所知 BMP在檔頭部分 記錄圖的長寬與調色盤等資料 而調色盤(256x3bytes=RGBRGBRGBRGB...排列) 接下來才時影像資料了 詳細檔頭資訊你要的話我去找找
kevinhsu
一般會員


發表:1
回覆:2
積分:0
註冊:2004-11-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-17 09:36:33 IP:211.72.xxx.xxx 未訂閱
麻煩大大您了,那請教一下,那調色盤和資料是怎麼運算的
stellos
中階會員


發表:24
回覆:84
積分:51
註冊:2004-06-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-18 01:02:58 IP:220.138.xxx.xxx 未訂閱
256色調色盤就是定義你要使用的顏色ㄚ 假設調色盤資料為255,255,255,0,0,0,255,0,0,... 我上面就列了三個顏色(白,黑,紅,...) 當你的影像資料為0,0,0,1,1,1,2,2,2 你就會看到白,白,白,黑,黑,黑,紅,紅,紅 這樣清楚了嗎
CoffeeX
中階會員


發表:18
回覆:121
積分:72
註冊:2005-02-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-18 23:34:56 IP:140.125.xxx.xxx 未訂閱
假設原圖Img為3*3,色彩格式為24bit,以此矩陣表示[a1 a2 a3,b1 b2 b3,c1 c2 c3],那麼在記憶體中image data的排法為c1 c2 c3 b1 b2 b3 a1 a2 a3, 其中a1中又包含bgr的排列,今天我們若欲將整個Image data放進記憶體,可用: Byte *ptr; ptr=Img->ScanLine[3]; ---------------------- ptr[0]=c1(b) ptr[1]=c1(g)......
------
=.=???
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-20 18:10:48 IP:203.70.xxx.xxx 未訂閱
BMP的格式很簡單, 我以前的做法, 會先利用Photoshop之類的軟體先造一張我們需要的格式, 然後利用BlockRead的方式去觀察它的內容。 基本上, 檔頭先依序以BITMAPFILEHEADER, BITMAPINFOHEADER二個結構去讀取(這二個結構請查閱Windows SDK) 原則上, BMP是以BGR的方式依序存取, 每一個LineData的Bytes數必須被4整除, 不足4則補足Bytes數即可, 而整個結構如下: BITMAPFILEHEADER BITMAPINFORHEADER 調色盤資料 實際影像資料. 如果是8bits的結構, 則BGR各占有(3 2 3), 如果是16bits則為(5 6 5), 如果是24bits則為(8 8 8)...
kevinhsu
一般會員


發表:1
回覆:2
積分:0
註冊:2004-11-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-02-22 11:03:37 IP:211.72.xxx.xxx 未訂閱
感謝yorkland大大的指導...
系統時間:2024-05-17 12:41:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!