これまでは、端末で画像や図形などを文字で描きました。
単一のピクセルを描くことは可能ですか?
まあ言ってみれば:
foo 1 1 red
これにより、座標(1, 1)
に赤いピクセルが描画されます。
この仕事をする既存のアプリケーションはありますか?
現在Ubuntu 14.04を実行しています。
端末は 文字セル表示 であり、ピクセルグラフィックスの描画をサポートしていません。 X11で実行している場合でも同様です。 Xサーバーと直接通信するときに個々のピクセルを描画することは確かに可能ですが、プログラムが端末と通信している場合は、端末に文字の表示を要求することしかできません。
テキストではなくグラフィックを表示するには、Xサーバーと直接対話するプログラムを作成する必要があります。これは通常、 [〜#〜] gtk [〜#〜] 、 Qt 、または wxWidgets などのUIツールキットライブラリを介して行われます。
Drawilleライブラリ をご覧ください。 UTF点字を使用してピクセルを描画します。
何ができるか Wyzard's について言及するか、自分でプログラムするか、ジョブ用に既に作成されているツールを見つけることができない限り、ターミナルで単一のピクセルカラーを描画することはできません(これはターミナル固有の可能性があります)。 。ただし、端末で個々の文字座標を使用して、ASCIIおよびUTF-8文字を使用して2D画像を描画することができます。このためのツールはtput
と呼ばれます。このツールは、現在の端末の座標に従ってカーソル位置を操作します。ここにtput
機能のサンプルリストがあります:
# tput Cursor Movement Capabilities:
tput cup Y X
# Move cursor to screen location X,Y (top left is 0,0)
tput sc
# Save the cursor position
tput rc
# Restore the cursor position
tput lines
# Output the number of lines of the terminal
tput cols
# Output the number of columns of the terminal
tput cub N
# Move N characters left
tput cuf N
# Move N characters right
tput cuu N
# up N lines
tput cud N
# down N lines
Wyzardの回答 で言及されている主要なウィジェットツールキット(GTK、Qt、WxWidgets)に加えて、 [〜#〜 ] sfml [〜#〜] または libSDL 。 (ほとんど相互作用がない)グラフィカル出力が必要なだけの場合は、 CairoGraphics を検討することもできます。
場合によっては、パイプを介して(たとえば popen )またはコマンドラインで GNUplot または GraphViz 。
また、ブラウザのグラフィック機能の使用を検討することもできます。 AJAX、SVG、HTML5などのWebテクノロジーを使用して、( Wt または libonion などのHTTPサーバーライブラリを使用して)専用のWebアプリケーションをコーディングする、キャンバス、ウェブソケットなど...)
しかし、ほとんどのターミナルエミュレータにはグラフィック機能がないか、またはほとんどありません(したがって、本物のピクセルグラフィックはありません)。したがって、 display server ( X11 、 Wayland 、...)。