目次 - API(機能別) - サーフェイスの生成と単純な描画 - SDL_CreateRGBSurfaceFrom

SDL_CreateRGBSurfaceFrom

既存のピクセルデータから新しいRGBサーフェイスを生成する

構文

SDL_Surface* SDL_CreateRGBSurfaceFrom(void* pixels, int width, int height, int depth, int pitch, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)

引数

pixels既存のピクセルデータへのポインタ
widthサーフェイスの幅
heightサーフェイスの高さ
depthサーフェイスのビット深度 (詳細を参照すること)
pitch水平方向のバイト数
Rmaskピクセルの赤マスク
Gmaskピクセルの緑マスク
Bmaskピクセルの青マスク
Amaskピクセルのαマスク

戻り値

成功のとき生成されたSDL_Surface, 失敗のときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

depthが4または8のとき, 空のパレットが生成される. depthが8を超えるとき, 引数の[RGBA]maskを使ったピクセル形式が設定される.

[RGBA]maskはピクセルの色を指定するためのビットマスクとして使われる. 例えば, RmaskがFF0000ならば, 赤のデータは最上位バイトに格納される. [RGB]maskを0にすると, ビット深度に基づいたデフォルトの値になる. (例: SDL_CreateRGBSurface(0,w,h,32,0,0,0,0);) しかし, Amaskを0にすると, αマスクは0になる.

αマスク付きサーフェイスのブレンドモードの初期値は SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_BLEND) である. SDL_SetSurfaceBlendMode()で別のブレンドモードに変えることができる.

ピクセルデータは新たに生成されない. ピクセルデータは管理外である. つまり, サーフェイスを解放した後はピクセルデータも解放する必要がある.

関連項目(関数)

SDL_CreateRGBSurface
SDL_FreeSurface

SDL Wikiへのリンク

SDL_CreateRGBSurfaceFrom - SDL Wiki