3
0

More than 3 years have passed since last update.

イメージファイルをターミナル用の色付アスキーアートに変換するWebAPIを公開しました。

Last updated at Posted at 2020-01-08

こちらのエントリは、自分のブログサイトの1エントリのコピーです。


はじめに

ANSI エスケープシーケンス といって、Unix系のターミナル上に色付きの文字列を出力することができます。

例えば、 echo コマンドでは出力したい文字列の前に \e[35m (数値部分は任意。)といった制御文字を出力させることでターミナルに出力される文字列に色を付けることができます。

$ echo '\e[35mHello\e[0m! \e[31mWorld\e[0m!'
Hello! World!

イメージファイルを指定して、色付アスキーアート文字列を出力できたらと思いWebAPIを作成してみました。

img2txt

サイト

機能

イメージファイルのURLを指定すると、Unixターミナル用の色付アスキーアートを取得できます。

WebAPIのエンドポイントURL

  • https://img2txt.genzouw.com

使い方

基本

curl コマンドを利用するのが簡単です。
curl コマンドでWebAPIを呼び出します。

  • urlパラメータ : イメージファイルのURLを指定します。
# 右記のイメージファイルURLをWebAPIに渡します → https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png 
$ curl -sS 'https://img2txt.genzouw.com?url=https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png'

ターミナルに以下のようなアスキーアートが表示されるはずです。

応用

出力内容をトリミングすることもできます。

  • tlパラメータ数値を指定します。 左からN列を除去します。
  • trパラメータ数値を指定します。 右からN列を除去します。
  • ttパラメータ数値を指定します。 上からN行を除去します。
  • tbパラメータ数値を指定します。 下からN行を除去します。
# 左から10列を削除
$ curl -sS 'https://img2txt.genzouw.com?url=https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png&tl=10'

# 上下左右10行、10列を削除
$ curl -sS 'https://img2txt.genzouw.com?url=https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png&tl=10&tr=10&tt=10&tb=10'

ひとこと

感想をお待ちしております。

2020-01-09 追記

ソースコードを Github で公開しました。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0