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

SDL_ConvertSurface

既存のサーフェイスを別の形式に変換して新しいサーフェイスを生成する

ヘッダ

SDL3/SDL_surface.h

構文

SDL_Surface * SDL_ConvertSurface(SDL_Surface *surface, SDL_PixelFormat format);

引数

SDL_Surface *surface変換する既存のSDL_Surface
SDL_PixelFormatformat新しいピクセル形式

戻り値

(SDL_Surface *) 生成されたサーフェイスを戻す. 失敗のときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数は繰り返しの転送を高速化するために画像を最適化する. これは, 元の画像を変換し, 新しいサーフェイスに記憶させることで実現させている. 新しい最適化されたサーフェイスは, より高速な転送元として使うことができる.

インデックス付きのサーフェイスに変換し, 色をパレット化したい場合は, この関数の代わりにSDL_ConvertSurfaceAndColorspace()を使用すること.

変換元のサーフェイスに別バージョンの画像がある場合, 新しいサーフェイスも同様に参照する.

スレッドセーフ

この関数は別のスレッドから別のサーフェイスに対して呼ぶことができる.

バージョン

SDL 3.2.0以降

サンプルコード

SDL_Surface *input;
SDL_Surface *output = SDL_ConvertSurface(input, SDL_PIXELFORMAT_RGBA32);

関連項目

SDL Wikiへのリンク

SDL_ConvertSurface - SDL Wiki