← 返回科研導航

ASCII 字符畫生成器

文字橫幅 · 圖片轉字符畫 · 純本地轉換

English 简体 繁體

文字 → ASCII 字符畫

×1

只認 ASCII:中文、日文、emoji 這類字符沒有對應的 5×7 拉丁字模,本頁簽會自動提示並跳過,圖片請改用「圖片轉 ASCII」。

ASCII 畫輸出


        
      

這是什麼工具

ASCII 字符畫生成器把兩件事合在一頁:一是「文字轉 ASCII」——用內置的 5×7 點陣字模把 A–Z、0–9 和一批標點排成大號橫幅(figlet 那種字符畫),提供實心塊、陰影、描邊、點陣四種樣式,填充與空白字符還能自己填;二是「圖片轉 ASCII」——把一張位圖按灰度分檔,用符號密度還原成字符畫,寬度、縱向密度、亮度、對比度、反色都能調,還能開彩色輸出直接在頁面上看原圖配色。

兩件事都在你自己的瀏覽器完成:字模表隨頁面一次性下載,圖片由瀏覽器解碼後交給 canvas 採樣,全程沒有 fetch / XHR,沒有後端接口,也不會把你的文字或圖片上傳到任何地方。生成的字符畫可以直接複製、也可以下載成 .txt 貼進 README、註釋、終端橫幅。

功能

怎麼用

  1. 做橫幅:在第一個頁簽輸入英文單詞或數字,選樣式、放大倍數,需要換個字符就改填充/空白字符,點「生成字符畫」。
  2. 轉圖片:切到第二個頁簽,選一張圖或把它拖進來(也可以 Ctrl+V 粘貼),先確認縮略圖和尺寸沒問題。
  3. 調參數:輸出寬度決定字符畫有多寬;人臉被拉變形就調縱向密度;整體發暗就加亮度、細節糊就加對比度;想要白底黑字的觀感就勾反色。
  4. 核對效果可以打開彩色輸出,但要放進代碼或終端時用「複製」或「下載 .txt」,拿到的是不含顏色的純文本。
  5. 想批量試不同寬度,就改寬度滑塊——每次改動都會立刻按當前參數重算,不用重新選圖。

技術參數與數據來源

文字頁簽:字模為本站自繪的 5×7 點陣表(window.ASCII_FONT_5X7),覆蓋 A–Z(含小寫復用)、0–9、空格與 ! ? . , : ; ' " - + / ( ) [ ] # % & * @ = < > $ ^ _ | ~ ` \;每個字符占 5 列外加 1 列間隔,7 行高;陰影樣式在右下方各偏移一格補斜線,描邊樣式按四鄰域做邊緣檢測(筆畫 #、外緣 .)。圖片頁簽:輸出寬度 20–200 字符,縱向密度 1.0 / 2.0 / 3.0(單元格高度 = 單元格寬度 × 密度),亮度 -100…100(對歸一化亮度整體平移,±100 會分別壓成全亮與全暗並在 0…1 處截斷),對比度 0.2…3(繞 0.5 中點縮放後截斷);灰度按 Rec. 709 加權 L = 0.2126R + 0.7152G + 0.0722B,帶透明通道的像素先按白色合成。三檔取樣序列由深到淺,字面分別是:「標準 10 級」@%#*+=-:.(9 個符號 + 末尾一個空格,共 10 檔)、「簡單 8 級」@#*+=-:.(8 個符號 + 末尾一個空格,共 9 檔)、「方塊灰階 4 級」█▓▒░(4 檔,最亮一檔仍是 ░ 而不是空白,白底佔比高時勾反色更省紙)。亮度值 v 落在第 floor(v × 檔數) 檔,兩端截斷。

圖片體積上限 30 MB,任一邊的像素尺寸超過 4096 會先等比縮到 4096 再採樣(大圖的解碼與逐像素平均都在這一份縮放後的位圖上進行,用 willReadFrequently 的離屏 canvas)。所有處理 100% 在你自己的瀏覽器完成:沒有 fetch / XHR、沒有上傳、沒有服務端記錄,圖片數據從不離開這台設備——這也是它和多數在線字符畫工具最大的區別,證件照、內部 logo 這類素材可以放心試。字模與取樣序列都是本倉庫裏的靜態數據,改動隨構建一起發布。

常見問題

為什麼輸入中文不給橫幅,只提示一句?
第一個頁簽靠 5×7 拉丁點陣字模拼字,一個漢字要佔的寬度與筆畫密度遠超這個網格,用這套字模排不出可讀的結果。所以檢測到非 ASCII 字符時會直接說明並跳過,不再請求任何數據。想把漢字做成字符畫,走「圖片轉 ASCII」:先把字寫成圖片(截圖、導出圖都行),再按灰度採樣。
「方塊灰階」用的 █▓▒░ 不是 ASCII,算不算名不副實?
確實不是純 7 位 ASCII:那是 Unicode 的區塊元素(U+2588 / U+2593 / U+2592 / U+2591),本工具如實把它標成「方塊灰階」。它的層次最細膩,代價是終端、純文本編輯器和部分代碼註釋可能顯示不出來或寬度不一致;要貼進這些場合就選「標準 10 級」或「簡單 8 級」,那兩檔才是純 ASCII。
縱向密度是什麼?為什麼人臉會被拉長?
等寬字體裏一個字符的格子大約「高是寬的兩倍」,如果按正方形網格取樣,圖會被橫向拉扁或縱向拉長。本工具默認按 2.0 計算單元格高度(單元格高度 = 單元格寬度 × 密度),也就是說豎向每格的取樣範圍是橫向的兩倍,出來的字符畫比例才和原圖一致。「緊湊 1.0」行數翻倍、細節更多但會被拉長,「寬鬆 3.0」更矮更概括,按原圖的觀感選一檔即可。
彩色輸出好看,為什麼複製下來沒有顏色?
彩色只是給頁面上的每個字符套了一個前景色(用 DOM 節點寫文本,不拼接 HTML 字符串),而複製與下載導出的一直是同一份單色純文本:字符畫常見用途是代碼註釋、README、終端橫幅,那些場合本身不認顏色,帶 HTML 反而壞掉。想要顏色效果就截圖,或者在原圖上下方對照看。
會不會把圖片傳到伺服器上?斷網還能用嗎?
不會。圖片由瀏覽器的 Image + canvas 解碼採樣,文字轉換隻查頁面自帶的字模表,全過程沒有任何網絡請求,伺服器上也看不到你輸入了什麼。頁面加載完成後斷網,兩個頁簽都能繼續用(除了頁面頂部的廣告位會空著)。

站內其他工具

純前端實現 · 零依賴 · 免費 · 支持中/繁/英