Previous: フォントもGCに登録
Up: 文字の種類とフォント構造体
Previous Page: フォントもGCに登録
Next Page: 色を自由に変化させる

もう一つの文字列表示関数 XDrawImageString()

文字列を表示する関数として以前に XDrawString() を紹介しました。 似た働きをする関数として、 XDrawImageString() もよく利用されます。
XDrawString() で描いた文字列は、バックグラウンドが「透明」でした。 下にある色や絵を活かしたい時や、 文字列を重ねて表示させたい場合にはこちらが便利です。
これに対して XDrawImageString() で描くと、 文字のバックグラウンドはGCに設定された情報に従います。 文字列の反転や網掛けによる強調、 あるいはスクロールの操作を実現する場合は、こちらが便利です。
2つの関数の引数のルールは全く同じです。もう一度まとめておきましょう。

XDrawString( dsp,  win,  gc,  x,  y,  "abc",  3 );

最初の方の引数は他のグラフィック関数と同じです。 順に Display, Window, GC です。 その後に文字列を表示する位置の座標を与えます。 文字列も形の基本は長方形ですが、x,yの座標は左上の点ではありません。 注意してください。 (どの点が基準の位置になるかは、フォントの種類によって微妙に違います。 詳しいことは教科書などで調べてください。)
座標の後に表示したい文字列のデータがきます。 直接文字列を与えても、間接的に文字列変数を与えても、どちらでもかまいません。
最後の引数で与える数値は、文字列の長さ(バイト数)です。 裸の数値で直接与えるよりも、関数 strlen() を使って調べる方法がお勧めです。
XDrawString( dsp,  win,  gc,  x,  y,  word,  strlen(word) );

maruyama@wakhok.ac.jp
1995年02月01日 (水) 00時21分18秒 JST