XReadBitmapFile(3X11)

名前
XReadBitmapFile, XReadBitmapFileData, XWriteBitmapFile, XCreatePixmapFromBitmapData, XCreateBitmapFromData - ビットマップの操作

書式
int XReadBitmapFile(display, d, filename, width_return, height_return, bitmap_return, x_hot_return,
                       y_hot_return)
      Display *display;
      Drawable d;
      char *filename;
      unsigned int *width_return, *height_return;
      Pixmap *bitmap_return;
      int *x_hot_return, *y_hot_return;

int XReadBitmapFileData(filename, width_return, height_return, data_return, x_hot_return, y_hot_return)
      char *filename;
      unsigned int *width_return, *height_return;
      unsigned char *data_return;
      int *x_hot_return, *y_hot_return;

int XWriteBitmapFile(display, filename, bitmap, width, height, x_hot, y_hot)
      Display *display;
      char *filename;
      Pixmap bitmap;
      unsigned int width, height;
      int x_hot, y_hot;

Pixmap XCreatePixmapFromBitmapData(display, d, data, width, height, fg, bg, depth)
     Display *display;
     Drawable d;
     char *data;
     unsigned int width, height;
     unsigned long fg, bg;
     unsigned int depth;

Pixmap XCreateBitmapFromData(display, d, data, width, height)
      Display *display;
      Drawable d;
      char *data;
      unsigned int width, height;

引き数

bitmap
    ビットマップを指定。

bitmap_return
    生成されたビットマップが返される。

d   スクリーンを指定するためのドロウアブルを指定。

data
    ビットマップ形式のデータを指定。

data
    ビットマップデータの場所を指定。

data_return
    ビットマップデータが返される。

depth
    ピックスマップの深さを指定。

display
    X サーバへの接続を指定。

fg

bg  使用する前景色と背景色のピクセル値を指定。

filename
    使用するファイル名を指定。 ファイル名の文字列の形式はOSに依存する。

width

height
    幅と高さを指定。

width_return

height_return
    読み込んだビットマップの幅と高さが返される。

x_hot

y_hot
    ファイル中にホットスポットを配置する座標を指定(存在しないときは -1, -1 を指定)。

x_hot_return

y_hot_return
    ホットスポットの座標が返される。

説明
関数 はビットマップを含むファイルを読み込む。 ファイルは現在のロケールのエンコーディングに従って展開される。 標準フォーマット以外のファイルを読み込めるかどうかは、実装に依存する。 ファイルを開くことができなかった場合、 は を返す。 ファイルを開くことはできたが、それが正しいビットマップデータでなかった 場合には、 が返される。 十分な作業領域を確保できなかった場合には、 が返される。 ファイルが読み込み可能で正しいデータであれば、 が返される。

は、ファイルから読み込む際にビットマップの幅と高さを width_return と height_return に返す。 次に適切なサイズのピックスマップを生成し、ファイルからビットマップを読 み込んでピックスマップに格納し、このピックスマップを関数の引き数 bitmap に割り付ける。 この関数を呼び出したクライアントは、ビットマップを使い終わった後は を使ってこれを解放しなければならない。 name_x_hot と name_y_hot が存在する場合、 はこれらを x_hot_return と y_hot_return に返す。そうでない場合には -1,-1 を返す。

はエラー と を起こすことがある。

関数 は、 と同じようにビットマップを含むファイルを読み込むが、サーバ内にピックス マップを生成せず、直接データを返す。 ビットマップのデータは data_return に返される。クライアントはこのデー タを使い終わった後は、 を使ってメモリを解放しなければならない。 ステータスと値が返される変数については と同じである。

The 関数 はビットマップを X バージョン11 のフォーマットでファイルに書き出す。 出力ファイル内で使われるビットマップの名前は、ファイル名からディレクト リ部分を取り除いたものから決められる。 ファイルは現在のロケールのエンコーディングで出力される。 書き込むファイルを開けなかった場合は、この関数は を返す。 十分なメモリを確保できなかった場合は、 は を返す。 エラーが起きなかった場合には、この関数は を返す。 x_hot と y_hot が -1, -1 でない場合、 はこれらをビットマップのホットスポット座標として出力する。

はエラー を起こすことがある。

関数 は与えられた深さのピックスマップを生成し、その後に を使ってビットマップ形式のデータをこのピックスマップに書き込む。 この深さは指定したドロウアブルのスクリーンがサポートしていなければなら ない。そうでない場合には、エラー となる。

はエラー を起こすことがある。

関数 を使うと、ビットマップファイルを読み込むことなく、 で書き出したビットマップファイル(X バージョン11形式のみ)を( を使って)Cプログラム中から読み込むことができる。 次のプログラム例は gray というビットマップを作るものである。

#include "gray.bitmap"

Pixmap bitmap; bitmap = XCreateBitmapFromData(display, window, gray_bits, gray_width, gray_height);

十分な作業用メモリ領域が確保できなかった場合、 は を返す。 クライアントはビットマップを使い終わった後、 を使ってこれを解放する責任を負う。

はエラー を起こすことがある。

返り値

サーバが、要求されたリソースやサーバメモリのアロケートに失敗した。

引き数 Drawable が、定義されている Window や Pixmap を指していない。

のウィンドウが Drawable として使用された。

関連項目
XCreatePixmap(3X11), XPutImage(3X11)
Xlib - C Language X Interface