Scroll to navigation

XReadBitmapFile(3X11) XLIB FUNCTIONS 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
ホットスポットの座標が返される。

説明

関数 XReadBitmapFile はビットマップを含むファイルを読み込む。 ファイルは現在のロケールのエンコーディングに従って展開される。 標準フォーマット以外のファイルを読み込めるかどうかは実装に依存する。 ファイルを開くことができなかった場合、 XReadBitmapFileBitmapOpenFailed を返す。 ファイルを開くことはできたが、それが正しいビットマップデータでなかった 場合には BitmapFileInvalid が返される。 十分な作業領域を割り当てられなかった場合には BitmapNoMemory が返される。 ファイルが読み込み可能で正しいデータであれば、 BitmapSuccess が返される。
XReadBitmapFile は、ファイルから読み込む際にビットマップの幅と高さを width_return と height_return に返す。 次に適切なサイズのピックスマップを生成し、ファイルからビットマップを読 み込んでこのピックスマップに格納し、このピックスマップを関数の引き数 bitmap に割り当てる。 この関数を呼び出したクライアントは、ビットマップを使い終わった後は XFreePixmap を使ってこれを解放しなければならない。 name_x_hot と name_y_hot が存在する場合、 XReadBitmapFile はこれらを x_hot_return と y_hot_return に返す。そうでない場合には -1,-1 を返す。
XReadBitmapFile はエラー BadAllocBadDrawable を起こすことがある。
関数 XReadBitmapFileDataXReadBitmapFile と同じようにビットマップを含むファイルを読み込むが、サーバ内に ピックスマップを生成せずに直接データを返す。 ビットマップのデータは data_return に返される。クライアントはこの データを使い終わった後は、 XFree を使ってメモリを解放しなければならない。 ステータスと値が返される変数については XReadBitmapFile と同じである。
The 関数 XWriteBitmapFile はビットマップを X バージョン 11 のフォーマットでファイルに書き出す。 出力ファイル内で使われるビットマップの名前は、ファイル名から ディレクトリ部分を取り除いたものから決められる。 ファイルは現在のロケールのエンコーディングで出力される。 書き込むファイルを開けなかった場合は、この関数は BitmapOpenFailed を返す。 十分なメモリを割り当てられなかった場合は、 XWriteBitmapFileBitmapNoMemory を返す。 それ以外の場合、つまりエラーが起きなかった場合には、この関数は BitmapSuccess を返す。 x_hot と y_hot が -1, -1 でない場合、 XWriteBitmapFile はこれらをビットマップのホットスポット座標として出力する。
XWriteBitmapFile はエラー BadDrawable, BadMatch を起こすことがある。
関数 XCreatePixmapFromBitmapData は与えられた深さのピックスマップを生成し、その後に XPutImage を使ってビットマップ形式のデータをこのピックスマップに書き込む。 この深さは、指定したドロウアブルに対応するスクリーンが対応していなけれ ばならない。対応していなければ、エラー BadMatch となる。
XCreatePixmapFromBitmapData はエラー BadAlloc, BadMatch を起こすことがある。
関数 XCreateBitmapFromData を使うと、ビットマップを実行時にファイルから読み込むのではなく、 XWriteBitmapFile で書き出したビットマップファイル(X バージョン11形式のみ)を( #include を使って) C のプログラム中に含めることができる。 次のプログラム例は gray というビットマップを作るものである。
#include "gray.bitmap"
 
Pixmap bitmap; bitmap = XCreateBitmapFromData(display, window, gray_bits, gray_width, gray_height);
 
十分な作業用メモリ領域を割り当てられなかった場合、 XCreateBitmapFromDataNone を返す。 ビットマップを使い終わった後に XFreePixmap を使ってこれを解放するのはクライアントの責任である。
XCreateBitmapFromData はエラー BadAlloc を起こすことがある。

返り値

BadAlloc
要求されたリソースやサーバメモリの割り当てにサーバが失敗した。
BadDrawable
Drawable 型の引き数の値が、定義されている Window や Pixmap を指していない。
BadMatch
InputOnly のウィンドウが Drawable として使用された。

関連項目

XCreatePixmap(3X11), XPutImage(3X11)
 
Xlib - C Language X Interface
Release 6.5 X Version 11