Toolyard

写真からアスキーアートを作る方法

写真を変換する

  1. 画像をアスキーアートに変換を開き、写真をドロップします。
  2. 幅を文字数で決めます。60〜80 文字ならチャットのメッセージやコードのコメントに収まり、150 文字以上なら顔や細部が残ります。
  3. 被写体が背景から浮き上がるまで、コントラストとガンマを動かします。
  4. テキストをコピーするか、TXT ファイル・PNG 画像・HTML ページとして保存します。

変換はブラウザの中で行われるので、写真がアップロードされることはありません。

写真が文字になる仕組み

画像を 1 文字につき 1 マスのグリッドに切り分けます。各マスには、そのマスの明るさにいちばん近いインクの量の文字が入ります。@・#・% はマスを多く覆うので暗い部分に、: と . は少ししか覆わないので明るい部分に使われ、空白がいちばん明るくなります。離れて見ると、目が文字を混ぜて灰色の濃淡に戻します。

文字は幅のおよそ 2 倍の高さがあるので、各マスは写真の正方形ではなく縦長の部分を受け持ちます。これを無視すると、絵が高さ半分につぶれてしまいます。

向いている写真を選ぶ

  • 無地の背景にはっきりした被写体。ごちゃごちゃした背景は ASCII の解像度ではノイズになります。背景が散らかっているなら、先に背景を削除してください。
  • はっきりした光と影。横から光が当たった顔は、平らで均一な光の顔よりずっときれいに仕上がります。
  • ぎりぎりまで切り詰める。1 列ごとに貴重なので、被写体以外はトリミングしましょう。
  • ロゴや線画はとくに相性がよく、輪郭をオンにするとさらに映えます。

効く設定

設定働き使う場面
幅1 行あたりの文字数チャットやコメントには狭く、印刷や PNG には広く
コントラストとガンマ濃淡をより多くの文字に広げるほぼ常に。平たい写真は少しの文字しか使わない
輪郭| - / \ で輪郭を描く顔、建物、ロゴなど、形のはっきりしたもの
ディザリング文字を混ぜて中間の濃さを表す文字数の少ないセットや、空のようななめらかなグラデーション
背景明るい背景に暗い文字か、暗い背景に明るい文字か絵を表示する場所に合わせる。ダークモードのチャットなど

背景の設定は見た目以上に重要です。白いページ向けに作った絵は、ダークモードのアプリではネガのように見えます。「暗い」を表していた詰まった文字が、今度は明るく光って見えるからです。

崩さずに貼る

アスキーアートは、すべての文字が同じ幅の等幅フォントでしかそろいません。ふつうのフォントでは列がずれて絵が崩れます。

  • Discord・Slack・GitHub・Reddit・Markdown:絵をバッククォート 3 つ(```)の行ではさんで、コードブロックにします。
  • コードのコメント:エディタに収まるよう 80 列程度までにし、C・Java・JavaScript の */ のようにコメントを閉じてしまう文字が入っていないか確かめてください。
  • ワープロやメール:フォントを Courier New・Consolas・Menlo にし、行間を 1 行にします。それでもアプリが文字を詰め直しそうなら、PNG を送りましょう。
  • SNS など、フォントが変わる場所:PNG を共有します。

チャットアプリはメッセージの長さにも上限があり(Nitro なしの Discord は 2,000 文字)、100 列 40 行の絵は入りません。収まるまで幅を狭めてください。

このガイドで使うツール

その他のガイド