##### Ninja Library - テクスチャ関数

# njReadRectangleTexturePartNumG

グローバルインデックス番号によるテクスチャの矩形領域をメインメモリへ転送

### 書式

> `Sint32 njReadRectangleTexturePartNumG( globalIndex, texaddr, p )
> Uint32 globalIndex
> Sint8 *texaddr
> Uint32 *p
> `

### 引数

> globalIndex | グローバルインデックス番号
> texaddr | ファイル名又はテクスチャメモリへのポインタ
> p | 矩形領域の情報を格納したデータのポインタ

### 戻り値

> 1 | 成功
> -1 | 失敗

### 解説

> 指定したグローバルインデックス番号のテクスチャをメインメモリに転送します。

> 読み込み可能なテクスチャはRectangle形式かStride形式のテクスチャです。 矩形領域の情報を格納したポインタを示す引数 pは、Uint32の7個のデータを持つ配列へのポインタです。 配列データにはそれぞれ次の内容を格納してください。

> 配列 | 内容
> p[0] | width 転送領域幅
> p[1] | height 転送領域高さ
> p[2] | src_x 転送元スタートX座標(左0)
> p[3] | src_y 転送元スタートY座標(上0)
> p[4] | dst_x 転送先スタートX座標(左0)
> p[5] | dst_y 転送先スタートY座標(上0)
> p[6] | dst_w 転送先テクスチャ幅

> 転送元の矩形領域は(src_x,src_y)-(src_x+width,src_y+height)です。

> 転送先の矩形領域は(dst_x,dst_y)-(dst_x+width,dst_y+height)としdst_wに転送先のテクスチャの幅を指定します。 dst_wが0の場合、転送先のテクスチャ幅は widthの値、高さは heightの値になります。 この場合は dst_x、dst_y は無視されます。

### 用例

>     p[0] = 128; /* width */
>     p[1] = 128; /* height */
>     p[2] = 100; /* src_x */
>     p[3] = 100; /* src_y */
>     p[4] = 100; /* dst_x */
>     p[5] = 100; /* dst_y */
>     p[6] = 256; /* dst_w */
>     /* Read rectangle area */
>     njReadRectangleTexturePartNumG( 0, texbuf, p );
>     /* Swap RED bit with BLUE bit */
>     for( j=100; j<228; j++ ){
>         for( i=100; i<228; i++ ){
>             color = *(Sint16*)((Uint32)texbuf + i*2 + j*256);
>             r = (color >> 11)& 0x1F;
>             b = (color & 0x1F);
>             *(Sint16*)((Uint32)texbuf + i*2 + j*256)
>                 = (color & 0x07E0) | (b << 11)|(r);
>         }
>     }
>     /* Reload texture */
>     njReLoadRectTexturePartNumG( 0, texbuf, p );

### 参照

> njReadRectangleTexturePartNum() | テクスチャ番号によるテクスチャの矩形領域をメインメモリへ転送

njReadRectangleTexturePartNumG

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000