close

圖形程式常被分成兩個類別:繪圖程式和描繪程式,
這樣的分類雖然沒有什麼不好,
但最好還是以最後產生的影像類型是光柵或向量來分類會比較好。

光柵影像其實就是我們一般常說的「點陣圖影像」,
產生的方式就是將影像的每一個像素的色彩值對應(映射)到螢幕的每一個點上(格點),
色彩(包括灰階)資料則被儲存在一種叫做位元的資料結構裡,
這也是英文名稱 bitmap (位元映射)的由來。

如果使用16進制的文字編輯軟體來開啟影像,
可以很明顯觀察到裡面的每一個位元正對應了影像裡的每一個像素,
也就是說,文字編輯軟體也可以用來編輯和改變影像的內容,
當然前提是得支援16進制,不過應該沒人會這麼無聊。

以下左邊是一個 5x5 以白色填滿的圖片,右邊則是使用 UltraEdit 將圖片打開的情形。

raster00.gif raster000.gif

像素在資料位元裡的排列順序是:由左而右,由上而下,
從 00000030h 之6 開始就是影像的色彩資料,
從左圖可以知道全部都是白色像素,
而白色在 RGB 記錄方式是(255,255,255),
換算成16進制就是(FF,FF,FF)。
因此從00000030h之6到00000040h之4,
就是左圖第一排從左至右的色彩位元資料,
中間隔了一個 00 ,代表換一行,
00 後面開始的就是左圖第二排的色彩位元資料。

這時候我們將左圖第一排第一個像素填上黑色:

raster01.gif raster001.gif

可以看到 00000070h之6 的 FF FF FF 變成 00 00 00 了,
因為黑色的色彩值是(0,0,0),換算成16進制就是 00 00 00。

在右邊加上紅色:

raster02.gif raster002.gif

可以看到 00000070h之9 的 FF FF FF 變成 00 00 FF 了,
因為紅色的色彩值是(255,0,0),換算成16進制就是 FF 00 00,
可是在這裡需要到著寫回去,變成是 00 00 FF ,
至於為什麼,就像為什麼複製要按 Ctrl+C 不是 Ctrl+T?
沒為什麼,因為遊戲規則就是這樣。

再加上綠色:

raster03.gif raster003.gif

00000070h之c 的 FF FF FF 變成 00 FF 00,
綠色的色彩值是(0,255,0),換算成16進制就是 00 FF 00,
在倒著寫回去,依此類推。

以上只是要介紹說明點陣圖影像名稱的由來,
以及為什麼叫做 bitmap(位元映射)。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ALVIN 的頭像
    ALVIN

    全力以赴每一天

    ALVIN 發表在 痞客邦 留言(0) 人氣()