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

SDL_CreateRGBSurfaceWithFormat

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

構文

SDL_Surface* SDL_CreateRGBSurfaceWithFormat(Uint32 flags, int width, int height, int depth, Uint32 format)

引数

flags現在は使われない. 常に0とすること.
widthサーフェイスの幅
heightサーフェイスの高さ
depthサーフェイスのビット深度
formatサーフェイスのピクセル形式

戻り値

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

サンプルコード

    /* 各ピクセルのバイト順がR,G,B,Aの32bitサーフェイスを
       テクスチャ用にOpenGLを使うように要求して生成する */

    SDL_Surface* surf;
    surf = SDL_CreateRGBSurfaceWithFormat(0, width, height, 32, SDL_PIXELFORMAT_RGBA32);
    if (surf == NULL) {
        SDL_Log("SDL_CreateRGBSurfaceWithFormat() 失敗: %s", SDL_GetError());
        exit(1);
    }

詳細

この関数の動作はSDL_CreateRGBSurface()とよく似ているが, カラーマスクの代わりに, 定義済みのSDL_PixelFormatEnumを指定する.

バージョン

SDL 2.0.5以降

関連項目(関数)

SDL_CreateRGBSurface
SDL_CreateRGBSurfaceWithFormatFrom
SDL_FreeSurface

SDL Wikiへのリンク

SDL_CreateRGBSurfaceWithFormat - SDL Wiki