IT用語集 › インフラ › XImage

XImage

インフラ Svenska → 更新: 2026-10-24

サーバー側にあるピクスマップに対し、クライアントのメモリ上にある画像を表すXlibの構造体。自前で計算したものを表示したいとき、画素が必ず通る道である。

ピクスマップに描き込めるのはサーバー自身の呼び出しだけである。画像ビューアーや動画プレーヤーのように画素を直接書きたいプログラムには、自分側のバッファ、つまりXImageが要る。構造体は幅、高さ、深さ、バイト順、ビット数/画素、一行のバイト数、三つの色マスク、そしてデータへのポインターを記述する。形式は一画素ずつ並べるZPixmapか、プレーン単位の古い XYPixmap と XYBitmap である。XPutImage がバッファをウィンドウやピクスマップへ送り、XGetImage は逆に画面の内容を取ってくる。

落とし穴は、レイアウトをクライアントの想定ではなくサーバーのビジュアルに合わせねばならないことだ。24ビットの画素を16ビットの画面に書いたり、SPARCとPCでバイト順を取り違えたりすると、絵の代わりにサイケデリックな色が出た。計算が面倒なら XGetPixel と XPutPixel があるが遅い。ソケット越しでは XPutImage のたびにコピーが発生するので、MIT-SHMには共有メモリにバッファを置く XShmCreateImage がある。xwdが書き出すファイル形式は、基本的にこのようなヘッダーにデータが続くものだ。

← 用語集に戻る