學習筆記:圖像表示 (3.5.5)

歡迎來到數位影像的世界!如果你曾經好奇電腦或手機是如何儲存照片或商標的,這一章將為你揭開謎底。我們將探索電腦將視覺圖片轉換為簡單二進制數據(0 和 1)的兩種主要方式。
無論你是從事數位媒體、程式設計,還是單純想為你的作品選擇合適的檔案格式,理解這些概念都至關重要!

3.5.5.1 點陣圖 (Bitmapped Graphics / Raster Images)

點陣圖是表現複雜、逼真影像(如照片)最常見的方式。你可以把點陣圖想像成巨大的馬賽克藝術或鋪滿磁磚的地板。

點陣圖如何呈現影像:

點陣圖由稱為像素 (pixels)(即 picture elements 的縮寫)的網格所組成。電腦會逐行儲存網格中每一個像素的顏色資訊。

點陣圖的核心概念
  1. 像素尺寸(解析度 Resolution)
  2. 點陣圖的尺寸或解析度,是透過像素寬度乘以像素高度來衡量的。
    範例:一張寬 1920 像素、高 1080 像素的影像,通常標記為 1920 x 1080 像素。

  3. 色深 (Colour Depth)
  4. 色深是用來表示單一像素顏色的位元 (bits) 數量。
    每個像素使用的位元越多,影像能顯示的顏色就越多,畫面也會顯得更豐富、更逼真。

    記憶小撇步:如果你使用 \(n\) 個位元作為色深,就能表示 \(2^n\) 種不同的顏色。

    • 1 位元(單色):\(2^1 = 2\) 種顏色(通常是黑白)。
    • 8 位元:\(2^8 = 256\) 種顏色。
    • 24 位元(全彩 True Colour):\(2^{24} \approx 16.7\) 百萬種顏色(高品質照片的標準)。
計算儲存需求(不含元數據 Metadata)

要計算點陣圖未壓縮的檔案大小,你需要知道總像素數量以及每個像素所需的位元數。

儲存空間計算公式(單位為位元):

$$ \text{儲存空間需求} = \text{像素寬度} \times \text{像素高度} \times \text{色深(位元)} $$

步驟範例:

想像一張寬 100 像素、高 50 像素,色深為 8 位元的小圖。

  1. 計算總像素數量(尺寸):
    $$ 100 \times 50 = 5000 \text{ 像素} $$
  2. 計算總儲存空間(位元):
    $$ 5000 \text{ 像素} \times 8 \text{ 位元/像素} = 40,000 \text{ 位元} $$
  3. (選擇性,但常見)轉換為位元組(因為 1 Byte = 8 bits):
    $$ 40,000 \text{ 位元} / 8 = 5000 \text{ Bytes} $$

你知道嗎? 這個計算結果是影像的原始大小。現實中的影像檔案(如 JPG 或 PNG)通常會小得多,這是因為使用了壓縮 (compression) 技術!

元數據 (Metadata)

影像檔案通常還包含元數據。元數據即「關於數據的數據」。它儲存了電腦開啟及顯示影像時所需的關鍵資訊,但它本身並不屬於顏色數據的一部分。

點陣圖常見的元數據包括:

  • 影像寬度(像素)。
  • 影像高度(像素)。
  • 色深(位元)。
重點回顧:點陣圖

點陣圖使用像素網格,每個像素都被分配一個顏色代碼。儲存空間取決於總像素數和色深(每個像素佔用的位元數)。

3.5.5.2 向量圖 (Vector Graphics)

向量圖則採取完全不同的處理方式。它們不是儲存每個小點的顏色數據,而是將影像儲存為一系列繪製圖形的數學指令。

向量圖如何呈現影像:

向量圖使用物件清單 (list of objects)(或幾何圖形)來表示影像。當你開啟向量檔案時,電腦會讀取這些指令,並在螢幕上繪製出相應的形狀。

比喻:點陣圖就像一張沖洗好的照片;而向量圖則像是一組組裝說明書或數學藍圖。

物件的常見屬性(繪圖指令)

清單中的每個幾何物件都儲存了相關屬性。這些屬性精確定義了物件的繪製方式。常見屬性包括:

  • 位置:物件起始點的 x 和 y 座標(例如左上角或中心點)。
  • 輪廓顏色:物件邊框或線條的顏色。
  • 線條寬度:物件輪廓的粗細程度。
  • 填充顏色:形狀內部封閉區域的顏色。