圖片轉ASCII字元畫工具
上傳圖片後,將根據亮度使用不同濃淡的字元(如 @%#*+=-:. )生成ASCII字元畫。可調整輸出寬度,全部處理都在瀏覽器內完成。
什麼是圖片轉ASCII字元畫
圖片轉ASCII字元畫,是將明暗程度替換為字元的表現手法。較暗的部分會分配到 @、% 這類筆畫多、看起來濃密的字元,較亮的部分則分配到 . 或空格這類看起來稀疏的字元,藉此重現原圖的明暗分佈。本工具會以此方式轉換您上傳的圖片,並支援複製結果或另存為文字檔案。
成品效果很大程度取決於原圖的性質。主體輪廓越清晰、明暗差異越大,轉換出的結果就越容易辨識。此外,生成內容預設以等寬字型顯示,若貼到非等寬字型的環境中,畫面會因字元寬度不一而變形。所有處理皆在瀏覽器內完成。
ASCII字元畫的製作方法
- 載入圖片 將要轉換的圖片拖曳至框內,或點選選擇圖片。支援 JPEG、PNG、GIF 等常見格式。
- 調整輸出列數 用滑塊決定每行的字元數。列數越多細節越豐富,但每行長度也會變長。
- 確認結果 轉換後的ASCII字元畫會立即顯示。若形狀不易辨識,可調整列數或改用明暗對比更明顯的圖片。
- 複製或儲存 用複製按鈕將結果放入剪貼簿,或用下載按鈕另存為文字檔案。
用好本工具的小技巧
- 使用輸出區域上方的滑塊調整每行的字元數(列數)。列數越多,細節表現越豐富,但複製後每行也會變長。
- 黑白對比明顯的照片,或輪廓簡單的插畫,轉換出的ASCII字元畫辨識度最高。
- 整個轉換過程完全通過瀏覽器內的JavaScript完成,您上傳的圖片絕不會被發送到任何伺服器。
- 生成的ASCII字元畫預設以等寬字型顯示。若用非等寬字型檢視或貼上,字元的寬高比會失真,畫面看起來會變形。
- 可以用複製按鈕將結果放入剪貼簿,或用下載按鈕儲存為`.txt`檔案,方便用於論壇簽名或程式碼註釋。
ASCII字元畫的應用場景
命令列工具的啟動畫面
可作為執行CLI程式時顯示的標誌。優點是不需附帶圖片檔案,直接寫入原始碼即可。
原始碼註釋或README
放在儲存庫README開頭或註釋欄,僅用文字就能傳達氛圍。放入程式碼區塊可保持排版整齊。
論壇簽名檔或聊天
在無法上傳圖片的純文字場合也能傳達畫面。請先確認貼上的地方是否以等寬字型顯示。
懷舊風格的視覺素材
想營造早期電腦畫面的氛圍時可以使用。因為是文字,放大縮小也不會變得粗糙。
ASCII字元畫相關術語
- ASCII字元畫
- 藉由排列字元來表現圖像的技法,起源於無法顯示圖形的早期電腦環境。
- 等寬字型
- 所有字元寬度皆相同的字型。因為每行的字元位置必須精確對齊,是ASCII字元畫不可或缺的條件。
- 非等寬字型
- 每個字元寬度不同的字型。用這種字型顯示會導致排版錯位,畫面看起來變形。
- 列數
- 每行包含的字元數量。列數越多畫面越精細,但顯示所需的橫向寬度也越大。
- 階調
- 亮度的分級程度。可用的字元種類越多,就能表現越細緻的明暗差異。
常見問題
閒話 ― ASCII字元畫的歷史
ASCII字元畫的起源可以追溯到1960年代的電傳打字機與行式印表機時代。早期計算機沒有顯示圖形的能力,只能列印字元,於是工程師們利用字元濃淡的差異來描繪簡單的圖畫。
1980至90年代,ASCII字元畫在BBS(電子公告板)和撥號上網文化中大放異彩。當年網路速度緩慢,傳輸圖片資料並不現實,只靠文字就能收發的ASCII字元畫因此被廣泛用作簽名檔或獨立作品。日語圈發展出的「顏文字」也可以看作是這一文化的一個分支。
如今網際網路速度飛快、圖片影片隨處可見,ASCII字元畫仍以致敬網路迷因文化與復古計算的方式延續下來。它依然出現在命令列工具的啟動畫面中,或被悄悄藏進原始碼註釋裡,成為一種小小的玩心。
ASCII字元畫能否如預期般顯示,很大程度上取決於所使用的字型。若用寬度參差不齊的比例字型檢視,各行的視覺對齊就會被打亂,畫面隨之扭曲,因此等寬字型是必不可少的前提條件。