目次 - 3.関数 - 3.2読み込み - IMG_LoadTyped_RW

IMG_LoadTyped_RW

SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, char *type)

src
読み込み元のSDL_RWops. 画像はここから読み込まれる
freesrc
0でないときsrcが自動的に閉じる/解放される
type
画像の形式を示す文字列. 現在は以下の文字列が使える(大文字小文字は区別しない):
"BMP"
"CUR"
"GIF"
"ICO"
"JPG"
"LBM"
"PCX"
"PNG"
"PNM"
"TGA"
"TIF"
"XCF"
"XPM"
"XV"

srcを読み込んでサーフェイスを生成する. この関数は全ての対応した画像を読み込める. この関数は指定の形式の画像が読み込めることを保障しないが, TGA形式(または将来対応するかもしれないマジックナンバーのない形式)を指定した場合は常に読み込める. SDL_RWopsの使い方は詳しく説明しないが, ほとんどのデータ元から読み込むことができる.

メモ: 画像ローダーは初期化されている必要がある. もしあらかじめIMG_Initで初期化されていなければ, 最初に画像を読み込もうとしたときに初期化を試みる.

メモ: 透過ピクセルに対応した形式の画像ならば, SDL_imageはサーフェイスのカラーキーを設定する. 次のようにするとサーフェイスのRLEアクセラレーションを有効にできる:
SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);

戻り値: 新しいSDL_Surfaceへのポインタを戻す. 対応していない形式, ファイルの読み込みに失敗したときなどはNULLを戻す.

サンプルコード

// sample.tgaをimageに読み込む
SDL_Surface *image;
image=IMG_LoadTyped_RW(SDL_RWFromFile("sample.tga", "rb"), 1, "TGA");
if(!image) {
    printf("IMG_LoadTyped_RW: %s\n", IMG_GetError());
    // ここでエラー処理を行う
}

参照

IMG_Init, IMG_Load, IMG_Load_RW

原文へのリンク

3.2.3 IMG_LoadTyped_RW