目次 - SDL_image 3.0 - IMG_LoadTexture_IO

IMG_LoadTexture_IO

画像をSDL_IOStreamからテクスチャに読み込む

ヘッダ

SDL3_image/SDL_image.h

構文

SDL_Texture * IMG_LoadTexture_IO(SDL_Renderer *renderer, SDL_IOStream *src, bool closeio);

引数

SDL_Renderer *rendererテクスチャを生成するために使用するSDL_Renderer
SDL_IOStream *src読み込むSDL_IOStream
boolcloseio真のときsrcを自動的に閉じる/解放する. 偽のとき開いたままにする

戻り値

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

詳細

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

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

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

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

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

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

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

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_image/IMG_LoadTexture_IO