web-dev-qa-db-ja.com

端末出力を画像ファイルにリダイレクトします

プログラムでいくつかのunixコマンドを実行し、画像ファイルで出力を取得する必要があります。形式はpngまたはjpegjpg)です。

コマンドは、AIX(IBM * nix)マシンで実行されます。新しいパッケージをインストールする権限がありませんが、オペレーティングシステムのデフォルトパッケージでパイプラインとリダイレクトを使用してこれを行う方法があると思います。

残念ながら、これを行う方法が見つかりませんでした。

7

出力が少なく、行が短いコマンドの場合、a2ps、ghostscript、imagemagickを組み合わせて簡単に実行できます。

ここでは、コマンドlsの出力を例として使用します。

ls | 
a2ps -=book -B -q --medium=A4dj --borders=no -o out1.ps &&
gs \
  -sDEVICE=png256           \
  -dNOPAUSE -dBATCH -dSAFER \
  -dTextAlphaBits=4 -q      \
  -r300x300                 \
  -sOutputFile=out2.png out1.ps
convert -trim out2.png result.png

a2psはテキストのベクター画像を作成します。 ghostscriptはそれをPNGグラフィックにラスタライズします(JPEGを使用しないでください。これには間違ったグラフィック形式です。フォトリアリスティックな画像にのみ役立ちます)。最後に、imagemagickを使用して周囲の空白を削除します。マニュアルページを読み、必要に応じてパラメータを微調整します。

プログラムがインストールされていない場合は、--prefix=/home/me/.localを使用してユーザーとしてコンパイルしてインストールできます管理者権限なし

EDIT:コメントで述べたように、a2psとghostscriptの依存関係のない解決策は次のとおりです。

convert label:"$(ls)" result.png
4
Marco