目次 - SDL_image - API(機能別) - 読み込み/保存 - IMG_LoadTexture_RW

IMG_LoadTexture_RW

画像をSDLデータソースからGPUテクスチャに読み込む

構文

SDL_Texture *IMG_LoadTexture_RW_RW(SDL_Renderer *renderer, SDL_RWops *src, int freesrc)

引数

rendererGPUテクスチャを生成するために使用するSDL_Renderer
file画像ファイルのパス名
freesrc0でないときsrcを自動的に閉じる/解放する. 0のとき開いたままにする

戻り値

生成されたテクスチャ, エラーのときNULLを戻す.

詳細

SDL_TextureはGPUメモリ内の画像で, SDLの2DレンダリングAPIで使用できる. これは読み込んだ後に画像を直接編集するのでなければ, CPUを使用するSDL_Surfaceよりもはるかに効率的である.

読み込んだ画像に透明色またはカラーキーがある場合ば, テクスチャにはαチャネルが生成される. そうでない場合は, 画像データを表すのに最も合理的な形式でSDL_Textureを生成しようとする(しかしほとんどの場合は32ビットRGBまたは32ビットRGBAとなる).

freesrcが0以外の場合, 処理が成功してもしなくてもRWopsは閉じる. この関数を呼んだとき, どのような場合でもSDL_imageは必要ならばRWopsを全て読み込む.

SDL_RWopsを使わずにディスクからファイルを読み込む別の関数も存在する. IMG_LoadTexture(renderer, "filename.jpg")のようにすると, 内部でこの関数を呼び, ファイル名の拡張子からファイル種別を類推する.

IMG_LoadTextureTyped_RW()も存在する. この関数はSDL_imageがファイル形式を自動的に判別できない場合に備えてファイル拡張子("BMP", "JPG"など)を指定できること以外は同等である.

SDL_Surface(CPUメモリ内のピクセルバッファ)に読み込みたいならば, 代わりにIMG_Load_RW()を使用すること.

テクスチャを使用し終えたならば, アプリケーションはSDL_DestroyTexture()を呼んで破棄しなければならない.

バージョン

SDL_image 2.0.0以降

関連項目(関数)

IMG_LoadTexture
IMG_LoadTextureTyped_RW
SDL_DestroyTexture

SDL Wikiへのリンク

SDL2_image/IMG_LoadTexture_RW