最近、 "git show< hash>"のような端末コマンドを実行したいと思いましたそして出力を画像、好ましくはPNGに保存する。
私はそれをかなりググって、特にimportコマンドで、いくつかのきちんとしたトリックを見つけました、しかしSTDOUTを確実に捕えて、それをイメージとして保存することは何もしませんでした。
だから、私はここで脳の信頼を頼むと思いました。 Linux用のテスト済みで検証済みのソリューションがありますか?
最近、 "git show< hash>"のような端末コマンドを実行したいと思いましたそして出力を画像、好ましくはPNGに保存する。
私はそれをかなりググって、特にimportコマンドで、いくつかのきちんとしたトリックを見つけました、しかしSTDOUTを確実に捕えて、それをイメージとして保存することは何もしませんでした。
だから、私はここで脳の信頼を頼むと思いました。 Linux用のテスト済みで検証済みのソリューションがありますか?
回答:
テキストを画像に変換する方法はすでにここで回答されています。 https://stackoverflow.com/questions/3826379/image-magick-converting-text-to-image-is-there-a-way-to-center-the-text-to-t その答えは、ImageMagickツールを使ってこれを行う方法に関するさまざまなバリエーションを提供します。
注意してください:これはあなたのコマンドの出力がプレーンテキストである場合にのみ確実に機能します。
(ncursesのもののような)なんらかの種類の凝った書式設定があると、結果はまったく予測できません。
いくつかの可能性を列挙した部分的な答え:
テキストを画像にレンダリングするために使用できるプログラムはたくさんあります。例えば:
convert
ImageMagick / GraphicsMagickより pbmtext
NetPBMから、Portable Bitmapにレンダリングします。 paps
、Pangoを使ってPostScriptにレンダリングする enscript
、ポストスクリプトにレンダリング しかし、別の形式をPNGに変換しても問題になりません。
これらのうち、 enscript
「特別なエスケープ」によって色をサポートします。これらは端末エスケープと同じではないので、あなたはそれらをawk / perlなどで変換するでしょう。
もう1つのオプションは、全体をxtermとスクリーンショットにレンダリングすることです。
ご覧のとおり、これらはすべて非常に複雑で、それらを機能させるには自明の努力が必要です。基本的には端末のレンダリング部分全体を複製したいので、これは当然のことです。
単に出力自体を保管し、それを調べたいときには端末で取り出す方が簡単な場合があります。
git show
次のようにファイルに保存するだけで出力を実行できます。 git show > xxx
または git show --pretty=blah > xxx
。何らかの履歴書に必要な場合は、それを画像に変換するよりも、テキスト処理システムに必要なコマンドに変換する方がはるかに簡単です。