目次 - 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