作者rock1246 (洛克亞 Rokya)
看板b98902HW
標題[計程] 單班BMP作業
時間Tue Nov 24 23:21:30 2009
有大雷
說真的 並沒有很難
主要是考驗觀察力和實際操作的勇氣(?
希望自己思考、發掘者請按←
應該注意的事項只有幾點
改動後 前置資訊會跟原圖不一樣的:
1.位元組 #2-5 圖的total size 為 54 + 3*總pixel數
2.位元組 #18-21 保存點陣圖寬度(以像素個數表示)。
位元組 #22-25 保存點陣圖高度(以像素個數表示)。
3.位元組 #34-37 圖的raw size 為 3*總pixel數
//據說範例圖片這邊資訊有些有誤 請無視 自行製作測資XD
coding該注意的:
1.fopen使用"rb"及"wb"
2.位元組#54以後的圖 pixel是 "由下到上" 由左到右
ex.
9 10 ....
5 6 7 8
1 2 3 4
3.該以byte資訊輸出的東西(如整數) 多利用fwrite
可寫成fwrite( &變數名稱, 變數佔幾byte, 1, FILE* )的形式
11/26 補上一個測資
http://www.csie.ntu.edu.tw/~b98902112/test.bmp
請確保你的程式壓縮完後是顯示藍色
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.8.252
1F:推 cwahbong:推 (最後一點: fread()的用法也一樣喔) 11/24 23:27
2F:→ rock1246:嗯 忘記打了XD" 感謝補充 11/24 23:30
3F:推 barry800414:囧 由上到下 由左到右 11/25 00:57
※ 編輯: rock1246 來自: 114.32.8.252 (11/25 01:16)
4F:推 alex800826:先砲洛克!! 11/25 01:52
※ 編輯: rock1246 來自: 114.32.8.252 (11/25 01:53)
5F:推 barry800414:感謝洛克 強者 由下到上這句話超重要 11/25 01:53
6F:→ barry800414:題目的even行是由上到下數下來的 好心機= = 11/25 01:54
7F:→ zenixls2:原來是指這個...真是的 11/25 02:03
8F:推 andy74139:多謝洛克:) 倒是..我是保留even的行列才過的耶!?冏 11/25 07:36
9F:推 davll:也許題目沒講清楚,應該是i*2要保留,但卻是"第"奇數個XD 11/25 09:57
10F:→ davll:再來,要注意infoHeader 的 height有時候是負的 11/25 09:58
11F:→ davll:還有,bitmap資料不一定在#0x36後,要用fileheader的offset 11/25 09:59
12F:→ davll:檔案格式就是很麻煩= =, 有很多細節要考慮Orz 11/25 10:00
13F:推 seanwu:題目有說它是24bit的,所以必定從0x36開始 11/25 14:06
14F:推 davll:喔喔,對,但是還有info header版本不同,有不同大小的size 11/25 16:43
15F:推 davll:你AC的code是一律offset 0x36 bytes嗎?@@ 11/25 16:46
16F:推 andy74139:我笨了~~我以為行列的起始編號是0~XDD //樓上指誰啊@@? 11/25 17:19
17F:推 davll:任何AC的人 11/25 17:51
※ 編輯: rock1246 來自: 114.32.8.252 (11/26 22:26)
18F:推 seanwu:是啊,我讀固定長度 11/27 01:57
19F:推 andy74139:直接把前54bytes讀進來^.< 11/27 07:36
20F:推 davll:喔喔,那還好,我倒是直接用offset讀進去... 11/27 23:47