RGB ANSIコードとUnicodeブロックグラフィック文字を使用して(最新の)端子に画像を表示する小さなC ++プログラム。
Unicodeハーフブロック文字を使用して、文字セルごとに2つの24ビットピクセルを表示するさまざまな同様のツール( timgなど)があります。このプログラムは、(潜在的にダウンスケールされた)画像の4x8ピクセルセルごとに次のアルゴリズムを使用して、4x8ピクセルセルを異なるユニコード文字にマッピングすることにより解像度を強化します。
-0オプションを使用してこの最適化を無効にすることにより、違いを参照してください。または、このテキストの最後にある比較画像をご覧ください。
tiv [options] < filename > [ < filename > ...]シェルはワイルドカードを拡張します。デフォルトでは、複数の画像が提供されている場合、サムネイルとファイル名が表示されます。オプションのリストについては、パラメーターなしで、または--helpでコマンドを実行します。
SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later重要
すべてのインストール方法では、必要な依存関係であるImageMagickをインストールする必要があります。ほとんどのパッケージマネージャーは、自動的にインストールする必要があります。
MakeFileは現在、 g++のみをサポートしています。 C ++ 17およびUNIXヘッダー( ioctl.hおよびsysexits.h 、具体的に)またはwindows.hをサポートするお気に入りのコンパイラを手動で使用してtiv手動でコンパイルすることができるはずです。 PRは大歓迎です。
git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src
make
# To move the tiv binary into your PATH (hopefully), also do
sudo make install ImageMagickをインストールすることを忘れないでください... DebianベースのLinuxをsudo apt install imagemagick介して、 brew install imagemagick介してMacOSに。
brew install tiv元のApple Shellは256カラーモード(-256)のみをサポートしており、画像を歪めている追加のライン間隔があるように思われるため、ITERM2をインストールすることもお勧めします。
brew install --cask iterm2
make LDLIBS=-lstdc++fs (ただし、MACOも壊れます)、#103を参照してください。TIVはAPIとして使用できます。したがって、常にお気に入りのFPSをシェルで実行したい場合は、これが機会です。
ライブラリとして役立つすべてのコードは、tiv_lib.hおよびtiv_lib.ccで分離されています。
主なエントリポイントはです
CharData findCharData (GetPixelFunction get_pixel, int x0, int y0, const int &flags)コールには、TIVコードがフレームバッファーからピクセルを要求できるSTD ::関数を使用します。
このフレームバファーから、コールは4x8ピクセル長方形のピクセルをクエリし、X0とY0は左上隅を定義します。コールは、画像のこのセルを近似するために最高のUnicodeグラフィックスキャラクターと色を検索し、チャルダタ構造体でこれらを返します。
Apache 2.0ライセンスに基づいて有用な貢献を受け入れることができてうれしいですが...
ほとんどの例は、このプログラムのJavaバージョンで撮影されました。これには、同等の出力があるが、CPU年のミレニアごとに遅くなるはずです。
複数の画像がファイル名の仕様に一致する場合、サムネイルが表示されます。
以下の例では、 -0オプションを介して無効化された文字最適化で上部画像が生成されました。
このコードは、ApacheライセンスのGPL(3以降)またはバージョン2.0のいずれかで自由に使用できます。 CIMGライブラリを含めます。CIMGライブラリには、CECILL 2.0(GPLに近く、CECILL-C](https://spdx.org/licenses/cecill-c)のいずれかでライセンスされています(LGPLに近く)。