[問題] GIF檔案的LZW編碼

看板C_and_CPP (C/C++)作者 (念)時間16年前 (2010/03/27 14:12), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
我試著用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)

03/27 17:06, , 1F
1.點陣圖 2.GIF支援動畫(也就是一堆圖)
03/27 17:06, 1F

03/27 23:11, , 2F
請問1.的點陣圖是指像bmp那樣的RGB共3Byte表示一個點嗎?謝
03/27 23:11, 2F

03/28 19:53, , 3F
點陣圖不一定是RGB,灰階也行 bmp是一種點陣圖格式
03/28 19:53, 3F

03/28 19:53, , 4F
其他還有很多(如:tiff)
03/28 19:53, 4F
文章代碼(AID): #1BhQ6xEM (C_and_CPP)
文章代碼(AID): #1BhQ6xEM (C_and_CPP)