XCreateImage(3X11) — NEWS-OS Programmer’s Manual
名称
XCreateImage, XGetPixel, XPutPixel, XSubImage, XAddPixel, XDestroyImage − イメージユーティリティ
形式
XImage ∗XCreateImage(display, visual, depth, format, offset, data, width, height, bitmap_pad,
bytes_per_line)
Display ∗display;
Visual ∗visual;
unsigned int depth;
int format;
int offset;
char ∗data;
unsigned int width;
unsigned int height;
int bitmap_pad;
int bytes_per_line; unsigned long XGetPixel(ximage, x, y)
XImage ∗ximage;
int x;
int y; XPutPixel(ximage, x, y, pixel)
XImage ∗ximage;
int x;
int y;
unsigned long pixel; XImage ∗XSubImage(ximage, x, y, subimage_width, subimage_height)
XImage ∗ximage;
int x;
int y;
unsigned int subimage_width;
unsigned int subimage_height; XAddPixel(ximage, value)
XImage ∗ximage;
long value; XDestroyImage(ximage)
XImage ∗ximage;
引数
bitmap_padスキャンラインの量を指定します (8、16 または 32)。 つまり、クライアントメモリ内でスキャンラインのスタート位置が 次のスキャンラインからこの値の整数倍だけ離れていることを示します。
bytes_per_line
あるスキャンラインの始めから次のスキャンラインの始めまでの クライアントイメージのバイト数を指定します。
dataイメージデータを指定します。
depthイメージの depth を指定します。
displayX サーバへのコネクションを指定します。
formatイメージのフォーマットを指定します。 XYBitmap、 XYPixmap または ZPixmap を渡すことができます。
heightイメージの高さをピクセル単位で指定します。
offsetスキャンラインの始めで無視するピクセル数を指定します。
pixel新しいピクセル値を指定します。
subimage_height
新しいサブイメージの高さをピクセル単位で指定します。
subimage_width
新しいサブイメージの幅をピクセル単位で指定します。
value追加する定数値を指定します。
visualVisual 構造体を指定します。
widthイメージの幅をピクセル単位で指定します。
ximageイメージを指定します。
x
yX および Y 座標を指定します。
解説
XCreateImage 関数は、指定されたディスプレイの XImage 構造体に必要なメモリを割り当てますが、 イメージそれ自体のスペースは割り当てません。 むしろ、構造体をディスプレイからバイトオーダ、ビットオーダ およびビットマップユニットで初期化し、 XImage 構造体を指すポインタを返します。 赤、緑および青マスク値は、Z フォーマットイメージでだけ定義され、渡された Visual 構造体から得られます。 他の値も渡されます。 offset により、各スキャンラインをシフトせずにイメージを高速に表示できます。 bytes_per_line で 0 を渡すと、Xlib はメモリ内のスキャンラインが 連続しているものと想定し、bytes_per_line それ自体の値を計算します。 なお、 XCreateImage、 XGetImage または XSubImage を使用してイメージを生成した場合、 XDestroyImage 関数がコールする破壊プロシージャが、イメージ構造体とイメージ構造体 によって示されるデータの両方を解放することに注意してください。 ピクセルをとったり、ピクセルを設定したり、サブイメージを作成したり、 定数値をイメージに追加したりするため使用される 基本関数は、イメージオブジェクトで定義されます。 このセクションの関数は、実際にはイメージオブジェクトの関数の マクロ呼び出しであり、 <X11/Xutil.h> で定義されます。 XGetPixel 関数は、指定されたイメージから指定されたピクセルを返します。 ピクセル値は、標準フォーマットで返されます(すなわち、long の 最下位バイトは、ピクセルの最下位バイトです)。 イメージには、X および Y 座標が含まれています。 XPutPixel 関数は、指定されたイメージのピクセルを指定されたピクセル値で上書き します。 入力するピクセル値は、標準フォーマットでなければなりません(すなわち、 long の最下位バイトは、ピクセルの最下位バイトです)。 イメージには、X および Y 座標が含まれています。 XSubImage 関数は、既存のイメージのサブセクションである新しいイメージを作成します。 これは新しい XImage 構造体に必要なメモリを割り当て、 新しいイメージを指すポインタを返します。 データはソースイメージからコピーされ、このイメージには、 x、y、subimage_width および subimage_height で定義された 矩形が含まれていなければなりません。 XAddPixel 関数は、定数値をイメージの各ピクセルに追加します。 これは、基本ピクセル値を割り当てられたカラーリソースからとり、 イメージをこれと同様に操作しなければならない場合、役に立ちます。 XDestroyImage 関数は、 XImage 構造体に対応するメモリの割り当てを解除します。
関連事項
XPutImage(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 4.2.1R