1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

Windows Terminal ベスト設定 第19回 Sixelグラフィックス「応用編」

マイナビニュース / 2025年1月28日 15時51分

Round(ターミナルの表示行数×20÷6)

となる。PowerShellであれば、以下の式で最大値を求めることができる。

[int]((20*$host.UI.RawUI.WindowSize.Height)/6)

なお、<Pan>にこれ以上の値を指定しても、Sixelピクセルの縦方向のサイズはかわらない。

Sixelエスケープシーケンスの「背景モード」が0または2の場合に、ラスターアトリビュートが、Sixel文字より前に配置されると、<Ph>と<Pv>で指定された指定範囲をデフォルトの背景色(黒)でクリアする(写真04)。

<Ph>と<Pv>ともに、単位はSixelドットである。このため、Pv=20、Ph=10で半角文字1文字分の範囲となる。たとえば、以下のようなラスターアトリビュート指定は、

"1;1;100;100

では、縦5行、横10文字の範囲がクリア(背景モードが0または2の場合)される。

ただし、現在のWindowsターミナルの実装では、Sixel文字でのピクセル描画後のラスターアトリビュートの指定では、<Ph>と<Pv>の指定にかかわらず、Sixelポインタ初期値から、ターミナル右下までをクリアする。つまり、<Ph>と<Pv>で指定範囲のクリアを行うには、Sixel描画を行う前にラスターアトリビュートを指定しておく必要がある。

この数値は、描画されるグラフィックスのサイズを、エスケープシーケンスを出力するアプリケーションに伝えるためにも使われるというが、実際には、範囲を超えての描画も可能なため、参考情報でしかない。
任意の座標に点を描画する

グラフィックスの基本は、指定された座標に点を描画することである。ここでは、Sixelグラフィックスで指定された座標に点を打つことを考える。

アスペクト比指定やラスターアトリビュートにより、Sixelの縦方向のピクセルサイズが異なり、Y方向の座標指定方法が違ってくる。ここでは、話を簡単にするため、アスペクト比は、1:1で固定であるとする。

Sixelグラフィックスは、SDM(Sixel Display Mode)により、Sixelポインタ初期値が異なる。このため、SDMにより点を描画する方法が異なる。SDMが無効の場合、Sixelポインタの初期位置は、文字カーソル位置となる。任意の座標にSixelを描画するには、最も近い文字位置に文字カーソルを移動させ、その後、Sixelポインタを動かして、描画位置を指定する必要がある。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください