ASCII 藝術是由一般文字字元組成的方格,視覺上較粗壯的字形代表圖片的暗部,空格或細小標點代表亮部,所以當你將 ASCII 藝術中的文字轉換時,所分享的輸出就是一整塊純等寬字元——每個字形、空格與換行——由固定寬度的字型呈現為可辨識的影像。這樣的結果在任何意義上都是文字:它存在於聊天訊息、原始碼註解、個人簡介、README 檔案或終端機中,完全不需要參考原始圖片。為了從真實的主體產生這樣的文字區塊,最實際的工作流程是在瀏覽器型的轉換器中執行本機影像,該轉換器會對像素進行取樣並將每一個像素對應到一個字元。「Text to ASCII Art Generator」正是執行這項工作:它接受最大 15 MB 的 JPG、PNG 或 WebP 檔案,以每個輸出格對應一個像素的方式對圖片進行取樣,套用高度校正以維持長寬比,並將產生的各列以換行字元串接,以便複製到剪貼簿或下載為 UTF-8 文字檔。整個轉換過程都在當前的分頁中進行,影像從不離開裝置,最終的區塊可以複製或儲存為純 TXT 檔案。

ASCII 藝術文字區塊的內部結構
當產生器完成時,可見的預覽是一塊以等寬字型呈現的文字區塊。每一格對應到瀏覽器從來源取樣的一個像素,先將圖片縮減為一個小畫布。可視上較粗重的字元聚集在圖片的暗部區域,而空格或標點則聚集在亮部區域。這個區塊的行為與其他任何文字無異:可以被選取、複製、編輯、搜尋與貼上。Text to ASCII Art Generator 正好會產生這樣的區塊,接著提供兩種匯出路徑——複製到剪貼簿,或下載一個以來源影像命名的 UTF-8 文字檔。
兩項特性讓這個區塊具有可攜性。第一,因為預覽使用等寬字型,每一格寬度相同,所以無論在哪裡開啟,欄位都能保持對齊。第二,輸出中不含二進位資料,只有一般字元、空格與換行。這就是為什麼這個區塊在被貼進程式碼註解、透過聊天傳送,或儲存成 .txt 檔之後仍能保持完整。
將影像轉換成 ASCII 藝術文字
- 從你的裝置中選擇一個 JPG、PNG 或 WebP 檔案。瀏覽器會讀取該檔案,並在解碼完成後顯示來源尺寸。
- 挑選一個以字元欄位數表示的輸出寬度。對方形主體而言,80 是一個實用的起始點。
- 挑選一組密度集合。Standard 適用於大多數主體;Detailed 能捕捉更多色調變化;Simple 則產生較粗壯且符號較少的結果。
- 當目的地是在深色背景上顯示深色文字並保留空格時,可以選擇性地啟用反向明暗方向。
- 產生 ASCII 藝術。預覽會立即以等寬字型呈現,讓每個格子都擁有可預期的視覺大小。
- 將文字複製到剪貼簿,或下載為以來源影像命名的純 UTF-8 文字檔。
如果來源會產生超過 800 列或 100,000 個總字元,工具會要求使用較小的寬度或裁切後的來源,而不是回傳一個不實用的區塊。對該上限進行快速的合理性檢查:在 200 欄寬度下,於 500 列就會達到 100,000 字元的上限 (100,000 ÷ 200 = 500)。超過這個值,你必須縮小寬度或裁切來源。
寬度、密度與方向
輸出寬度是以字元欄位數來衡量,而非以影像像素為單位。較大的值能保留更多細部細節,但會產生較長的行與較大的文字區塊。較小的值則產生緊湊的結果,適合狹窄的留言串與簡短的個人簡介。80 欄是方形來源的合理預設值;對於臉部特徵等細部可放大寬度,對於粗獷的圖示與標誌則可縮小寬度。
密度集合是不同長度的字元序列,能將單一相對亮度值對應到特定字形。Standard 為一般主體取得平衡,是建議的起始點。Detailed 使用較長的序列與更多色調階數,有助於照片與平滑漸層維持其形狀。Simple 使用較短的高對比符號序列,產生更粗獷、更圖像化的結果。
Reverse 反向與密度集合無關,可以與三種中的任何一種組合使用。它會交換方向,讓視覺上較粗重的字元代表亮部,空格代表暗部。當目的地是深色終端機、深色主題的程式碼區塊,或是會保留重複空格的聊天介面時,請啟用 Reverse。
取樣、亮度與高度校正
三個內部步驟決定了文字區塊的呈現結果。第一是取樣:瀏覽器將來源繪製到一個大小符合所要求字元寬度的小畫布上,因此每個輸出格對應到一個取樣像素。第二是亮度:根據 WCAG 2.2,每個合成像素會被轉換成單一相對亮度值,使用 0.2126、0.7152 與 0.0722 三個係數套用於經過線性化的 sRGB 通道。該值會從所選的密度序列中挑選一個字元。第三是長寬比校正:由於等寬字形通常比寬度更高,工具會將列數乘上依據來源長寬比所推導的校正因子,使方形圖片在轉換後不會看起來垂直拉伸。
透明像素在進行上述任何步驟之前,會被視為出現在白色背景上。這能防止透明 PNG 內部那些肉眼不可見的顏色值——存在於檔案中但不可見的值——在輸出文字中變成深色痕跡。
貼上的 ASCII 文字在哪裡看起來正確
ASCII 轉換是一種詮釋,而非無損的影像格式,因此貼上後的結果取決於目的地。為了正確的對齊與對比,下列四項條件會有所幫助:
- 使用等寬字型。比例字型會讓每個欄位錯位。
- 保留重複的空格。某些平台會壓縮空白字元,除非文字被包在預先格式化區域中,例如 Markdown 程式碼區塊或 <pre> 區塊。
- 符合行高。過寬的行距會以與比例字型相同的方式破壞視覺格點。
- 注意目的地的寬度。一個 200 欄的區塊可能會超出論壇、留言串或側邊欄的可見寬度。
可靠的 destinations 包括支援等寬字型的個人簡介、任何語言的原始碼註解、GitHub 上的 README 檔案、終端機輸出、以程式碼區塊包裹的 Discord 與 Slack 訊息,以及純文字文件或電子郵件。
密度集合一覽
| 集合 | 序列長度 | 最適用於 |
|---|---|---|
| Standard | 平衡,中等長度 | 肖像、標誌與大多數一般主體;建議的起始點 |
| Detailed | 較長,色調階數更多 | 照片、漸層,以及任何平滑色調重要的主體 |
| Simple | 較短,高對比符號 | 粗獷的圖示、厚重結果,以及非常狹窄的輸出寬度 |
Reverse 反向適用於上表中的任何一列。將 Reverse 與 Simple 及較低寬度結合,可製作深色背景的厚重橫幅;將其與 Detailed 及較高寬度結合,則可在低對比深色主題中獲得柔和的呈現效果。
限制與無法在轉換中保留的內容
本工具接受最大 15 MB 的 JPEG、PNG 與 WebP。在進行任何畫布處理之前,會先檢查解碼後的尺寸,而另一個 40 megapixel 的規則則限制了取樣畫布的最大大小。在記憶體有限的裝置上,即使未達到上述任一上限,極大或高度壓縮的影像仍可能失敗;關閉其他分頁或使用較小的來源是實際的解決方法。
細部紋路、精確的色彩、圖片中可閱讀的小字、透明效果,以及照片級細節,都無法以原始檔案中的樣貌在轉換中保留。輸出是一種風格化的文字版本,而非忠實的複製。請保留原始影像,以便在首次嘗試未掌握重要邊緣或可辨識特徵時,能以不同的寬度、密度集合或方向重新渲染。如需跨檔案類型的本機 ASCII 轉換工作流程的更廣泛構想,請參閱 Convert Image to ASCII: Local PNG, JPEG, GIF & WebP。
相關閱讀:An Image to ASCII Alternative That Runs in Your Browser。