作者qulvmp6 (念)
看板C_and_CPP
標題[問題] GIF檔案的LZW編碼
時間Sat Mar 27 14:12:08 2010
我試著用C寫一個GIF圖案出來
在看GIF的格式時
發現在圖像塊使用的是LZW的編碼
找了好多網頁都沒找看有講解GIF如何用LZW編碼的實做範例
之後找到了這頁
http://0rz.tw/ujnUd
上面寫到
LZW第一個Byte是Start Code Size
再來是Data Size
之後就是Data Length和Data不斷重復,直到遇到終結器
這邊就全部都看不懂了
我所知道的是
LZW是像片語取代的方式來壓縮
我想問的是
1.原本LZW編碼前的資料是什麼? 是一個對應全局色彩表的8bit值嗎?
2."Start Code Size"和"Data Length和Data不斷重復"是什麼意思?
3.該如何用LZW編碼呢?
4.有辦法不使用LZW編碼,直接一格一格指定GIF每格顏色;
也就是直接寫說每一格對應色彩表的哪個索引值。
這種方法有嗎?
對不起我瞭解的很少
如果問題太新手請多見諒
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.67.92
※ 編輯: qulvmp6 來自: 114.40.67.92 (03/27 14:55)
1F:推 tabinoyume:1.點陣圖 2.GIF支援動畫(也就是一堆圖) 03/27 17:06
2F:→ qulvmp6:請問1.的點陣圖是指像bmp那樣的RGB共3Byte表示一個點嗎?謝 03/27 23:11
3F:→ tabinoyume:點陣圖不一定是RGB,灰階也行 bmp是一種點陣圖格式 03/28 19:53
4F:→ tabinoyume:其他還有很多(如:tiff) 03/28 19:53