要把照片變成 8-bit 藝術,先砍顏色,再砍解析度。把影像重建在一張粗格線上,讓它只剩寥寥幾種顏色,抖動時用規則的圖樣,而不是柔軟的顆粒。色彩的匱乏才是讓一張圖讀起來像 8-bit 的原因,其他的都只是像素化而已。

這個順序就是整個訣竅,而它來自硬體當年真正的樣子。所以在進入步驟之前,值得花兩分鐘弄清楚「8-bit」在說什麼,因為這個詞其實悄悄地在做兩件不同的事。

「8-bit」真正指的是什麼

位元說的是處理器,不是顏色。任天堂紅白機使用的是 MOS Technology 6502 的未授權變種,維基百科形容它是「一顆在當代家用電腦與遊戲主機上十分普遍的 8 位元微處理器」。名字就是從這裡來的。這台機器是 8-bit,就像一台車是四缸。

幾乎每個人都以為它的意思是 256 色,因為 2 的 8 次方等於 256,這個巧合實在太誘人。硬體說的是另一回事。紅白機「在 54 種可用色中最多能同時顯示 25 色」,標準顯示解析度是 256 × 240 像素,而每個 sprite 圖塊「一次最多能顯示 3 個調色盤顏色,每組調色盤的第一個位置代表透明」。

二十五色。每塊三色。這才是真正的限制,和 256 差得很遠。

這個年代本身有清楚的界線。第三世代遊戲機始於 1983 年 7 月 15 日,也就是 Famicom 在日本發售的那一天,同世代還包括 Sega Master System 與 Atari 7800。還有一個細節值得知道,因為它解釋了為什麼這個標籤聞起來像行銷:「一直要到第三世代的末期,家用主機才開始以自己的『位元數』被標示與行銷。」紅白機上市時,沒有人叫它 8-bit。那個數字是後來才變成賣點的,主要是為了讓接下來的機器聽起來更大。

為什麼 8-bit 看起來色彩貧乏,16-bit 卻不會

世代之間的落差就是色彩的落差,而且大得驚人。紅白機最多在畫面上放 25 色。接棒的超級任天堂則能從 15 位元 RGB 色彩空間中選出最多 256 色,調色盤總數是 32,768 色。

一個硬體世代之內,畫面上的色彩數量躍升了大約十倍。這就是兩個年代看起來截然不同的全部原因。8-bit 讀起來平坦、方正,還帶點刺眼,因為畫師幾乎沒有色階可用。16-bit 讀起來有陰影、平滑,因為他們突然有了。

這件事對你的照片的影響,比任何其他決定都大。如果你把一張影像像素化,卻留下 32 種顏色,你做的不是 8-bit 藝術,而是一張放在 8-bit 格線上的 16-bit 年代作品,讀起來就是普通的復古感。匱乏才是風格。

這個詞被用得很寬鬆,知道了就沒關係

老實說吧。今天幾乎沒有人把「8-bit」當成硬體規格在用,而這個漂移很容易舉證。Game Boy 於 1989 年 4 月 21 日在日本發售,跑的是一顆 8 位元的 Sharp SM83 處理器,畫面顯示四階灰綠。它的樣子一天到晚被叫做 8-bit。但它是第四世代主機,不是第三世代,所以照嚴格的定義,它根本不屬於 8-bit 年代。它只是多數人這輩子看過最好認的那個又綠又方的東西。

像素藝術也不屬於主機。這個詞「最早發表於 1982 年,出現在 Xerox 帕羅奧圖研究中心的 Adele Goldberg 與 Robert Flegal 的一封期刊通訊裡」,而這個做法「至少可以再往前推 11 年,例如 1972 年 Richard Shoup 同樣在 Xerox PARC 打造的 SuperPaint 系統」。像素藝術在 Famicom 出貨之前就有名字了,而且到今天仍然活著:近年的作品包括 2023 年的《潛水員戴夫》和 2024 年的《小丑牌》。

所以當有人說「把我的照片變成 8-bit」,他通常指的是三件具體的事:顏色很少、像素大到數得出來,還有一組聞起來像老硬體的調色盤。這是一份完全合理的需求。只是當你知道這三件事裡哪一件才承重,成果會好上一截,而承重的是第一件。

還有一個實際的後果。因為「8-bit」是一種氛圍、而不是一個規格,做著相反事情的工具都在用它:真正把你照片縮小的像素化工具,以及憑空造出一張像它的新圖的 AI 產生器。如果你要的是你這張特定照片被忠實呈現出來,這個區別決定了一切,我們在最好用的照片轉像素藝術 App裡完整談過。

步驟一:先把顏色砍下來

在你動格線之前,先設定色彩數量,因為決定影像讀起來是 8-bit、還是只是被像素化,正是色彩數量。這和一般的順序相反,而且是刻意的。解析度控制影像有多粗獷,色彩控制它屬於哪個年代。

單張影像好用的範圍是 4 到 16 色。這落在紅白機 25 色的畫面上限之下,也差不多就是眼睛開始讀到「主機」、而不是「濾鏡」的位置。從 8 色開始,看看什麼會壞掉。如果一開始的光線夠清楚,一張臉通常撐得過 8 色,風景則常常偏好 12 色。一次加一種顏色,主體一站得住就停手,因為過了那個點之後每加一種顏色,都在悄悄把你推向 16-bit 的樣子。

Koadro 裡,這是一根叫做「顏色」的滑桿,免費從 2 色到 16 色,一次購買 Premium 後最多 64 色。十六色已經深深落在 8-bit 的領域裡,所以免費版的上限在這裡並不構成限制。預覽會隨著你拖動即時重繪,你可以用眼睛找到那個數字,不必用猜的。

步驟二:選一組調色盤,再決定它怎麼套用

一旦色數壓低,你留下的是「哪幾種」顏色,就成了「老主機」和「糊掉的照片」之間的差別。你有兩條路,它們的行為並不一樣。

自適應調色盤會從你自己的照片裡讀出顏色,再把它們縮減到你設定的數量。成果會忠於原圖,當照片本身的色彩就強烈而有限時,這正是你要的:灰牆前的一件紅外套、一場日落、暖光下的一張人像。

固定調色盤則不管你照片的顏色,直接把影像壓進一組事先決定好的色彩裡。主機的個性就是從這裡來的。Koadro 內建一組取自 Color Graphics Adapter 的四色色組,那是 IBM 早期的 PC 顯示標準,它的四色模式帶來明白無誤的 1980 年代初期樣貌;另外還有 PICO-8 的 16 色色組,PICO-8 是一台現代的幻想主機,打造的目的就是模仿「1980 年代 8 位元系統有限的視聽能力」,這讓它成為這裡最接近「為 8-bit 而生」的一組調色盤。兩組都免費。兩組都比任何自適應的成果更靠近 8-bit,因為固定調色盤正是主機畫師當年工作的那種限制。

現在是多數教學跳過的部分。當你套用固定調色盤時,把照片對應上去的方法有兩種,選錯就是固定調色盤常常看起來壞掉的原因。Koadro 把這件事放在調色盤下方的「調色盤模式」裡,有兩個選項。「忠實」會把每一格貼到最接近的調色盤顏色,所以只有那些和你照片實際色彩相近的調色盤顏色會出現。把一張暖調人像丟進四色的 CGA 調色盤,又選了「忠實」,你可能只會拿到黑與白,其他幾乎什麼都沒有,因為青色和洋紅沒有一個靠近膚色。「全色」則把照片整個色調範圍依明度排序,重新分配到整組調色盤上,於是每一種顏色都會被用到。

要 8-bit 的樣子,通常就選「全色」。主機畫師沒有跳過不合主題的顏色的權利。他們有四色,就用四色。「全色」把你放在同樣的位置上,而這正是成果為什麼讀起來像硬體、而不像濾鏡。

步驟三:格線要粗到數得出來

接著是解析度,也就是影像被重建時所用的格子數量。8-bit 的規則比一般像素藝術更簡單:如果觀眾不湊近就數不出像素,格線就太細了。

紅白機整個畫面跑在 256 × 240 像素上,角色、背景和介面全部包含在內。一個角色只佔其中很小的一塊。所以粗格線不是你做的妥協,而是這個風格誕生時的實際條件。以人像來說,48 到 96 格之間通常就是那個區間:臉還讀得出來,方塊也明白無誤。如果是簡單的物件或圖示,可以再更低。

Koadro 的「解析度」滑桿算的是影像最長邊上的格子數量,免費最多 128 格,Premium 可達 256 格。注意這代表什麼:256 格就是紅白機自己的畫面寬度,所以付費的上限早就超過那個年代做出來的任何東西。做 8-bit 的話,免費的範圍就是整座遊樂場,更細的設定是留給做別種東西的人。如果你想知道的是任何像素藝術該怎麼選解析度的一般原理,而不只是 8-bit 這個情況,如何把照片變成像素藝術裡談過。

步驟四:抖動要用圖樣,不要用顆粒

把一張照片砍到八色,它的漸層會斷裂成一道道硬邊色帶。原本溫柔淡去的臉頰變成一道階梯。抖動就是解法,而對 8-bit 來說,用哪一種抖動和用不用抖動一樣重要。

有序抖動使用一張固定的門檻對照表,通常是 Bayer 矩陣,它「的特徵是成果中明顯的交叉影線圖樣」。那個規則的交叉影線就是重點。它是軟體畫在負擔不起更聰明做法的硬體上的樣子,這也是為什麼 Microsoft Windows 在 16 色顯示模式裡用它。誤差擴散,也就是 Floyd-Steinberg 這一家,會把誤差有機地散開,產生柔軟隨機的顆粒。它是重現照片的較好演算法,卻是想看起來像 1986 年時的錯誤選擇。

所以做 8-bit 就伸手去拿「有序」。或者,比你以為的更常見,什麼都不拿。主機美術經常整片使用平塗的色塊、完全不抖動,因為在每塊三色的條件下,本來就沒什麼好抖的。純色和有序,是兩個道地的選擇。Floyd-Steinberg 留給你想要一張剛好被像素化的照片時再用。

Koadro 把四種都放在「紋理」控制項底下:純色、抖動、有序與雜訊,而且每一種在每個版本都免費。在同一張影像上切換「純色」和「有序」,差別立刻就看得到。

步驟五:匯出時不要平滑

你的 8-bit 影像現在很小,寬度只有格子數量那麼多,所以你必須把它放大。幾乎每一種影像縮放在放大時都會平滑,混出新的中間色,好讓照片在大尺寸下看起來自然。這在這裡恰恰是錯的。它會軟化你花了四個步驟做出來的硬邊,把俐落的色塊變成一團糊。

你要的方法是最近鄰插補放大,它靠單純重複每一個像素、完全不混色來放大,所以每一個色塊在任何尺寸下都保持硬邊。Koadro 預設就是這樣匯出,任何版本都沒有浮水印,免費最高 1024 像素,一次購買 Premium 後最高 2048 像素。如果你要列印,它還能以公分或吋設定真實的畫布尺寸與像素尺寸,讓實體輸出以真實比例落地。

真正的 8-bit,還是復古像素風:刻意選一個

這是兩種不同的成果,而大部分的失望都來自瞄準其中一個、打中另一個。匯出前先決定。

真正的 8-bit 是 4 到 16 色、一組用「全色」套用的固定調色盤或一組被大幅縮減的自適應調色盤、一張粗到數得出來的格線,再加上平塗色彩或有序抖動。它看起來像硬體。它也會失去細節,而且本來就該如此,因為那份失去正是美學本身。

復古像素風則是更多顏色,常常是 24 到 64 色、一組保留照片真實色相的自適應調色盤、更細的格線,再加上 Floyd-Steinberg 抖動,讓皮膚和天空保持平滑。它看起來像你的照片,只是用看得見的像素呈現。它更靠近 16-bit 年代,而對一張你還想認得出來的人像來說,它經常是更好的選擇。

兩種都沒有錯。但它們是相反的,而一份卡在中間的設定,只會做出一個沒有人想要的東西:一張讀起來像手機濾鏡的圖。挑一端,做到底。

Koadro 做得到什麼,又有哪一件做不到

Koadro 是一款照片像素化工具,正好就是這套方法需要的那種工具。它把你實際的影像重建在你設定的格線上,用你選的調色盤,靠誠實的縮小運算,沒有任何生成式的重畫。出來的就是你放進去的。一切都在你的裝置上執行,不需帳號、不上雲端,並且能在 iPhone、iPad 與 Mac 以及 Android 上使用,一次購買就涵蓋同一個商店帳號下的每一台裝置。

各項控制與這五個步驟一一對應:一根「顏色」滑桿,一格調色盤選單,內含自適應與固定色組以及「忠實」和「全色」兩種調色盤模式,一根「解析度」滑桿,一個「紋理」控制項,裡面有純色、Floyd-Steinberg 抖動、有序與雜訊,以及俐落的最近鄰插補匯出。免費版是一個貨真價實的工具,不是試用版:完整的像素化、裁切與旋轉、每一組調色盤、每一種紋理、最多 128 格、最多 16 色、匯出最高 1024 像素,以及最多十個已儲存的專案,沒有廣告、沒有浮水印。Koadro Premium 是單次的一次購買,沒有訂閱,解鎖 256 格、64 色、菱形與六角形馬賽克拼貼、實際尺寸列印、2048 像素匯出、自訂調色盤、無限專案,以及儲存的預設組合。App Store 的介紹寫得很直白:「一次付清,沒有訂閱、沒有廣告。沒有浮水印。永遠不會有。」

老實說,這裡有個缺口。Koadro 沒有內建任天堂紅白機調色盤,也沒有 Game Boy 調色盤。主機這一側它給的是 CGA 與 PICO-8,另一側則是以品味命名的色組:黑調、懷舊褐、抹茶、Nord、暮色、陶土、Ukiyo-e 與 Riso。所以要拿到嚴格的 8-bit 成果,你的路徑是把色彩數量狠狠砍下來、用 CGA 拿到四色的讀法,或是用自訂調色盤親手把確切的顏色建出來,而自訂調色盤屬於 Premium。如果你想自己抄一組,紅白機的參考調色盤公開在 Lospec 上。而如果你要的只是一鍵套用具名的 NES 或 Game Boy 調色盤,免費的瀏覽器工具 8bitphoto.co.uk 有這些調色盤,而且全部在你的瀏覽器裡本機處理。說出這件事對我們沒有任何損失。你應該用那個能把事情做好的工具。

簡短版

把「8-bit」讀成一份色彩預算,而不是一個解析度。任天堂紅白機在畫面上拿到 25 色、每塊 3 色,而人們喜愛那個年代的每一項視覺特質,都是從這份匱乏長出來的。所以先砍顏色,選一組調色盤並且把它整組用滿,設一張你數得出來的格線,用純色或有序抖動,再銳利地匯出。做到這些,成果就會看起來像 1986 年。打開 Koadro,把「顏色」滑桿拉到 8,大約四秒你就會看到。