目次 - SDL 3.0 API(機能別) - サーフェイスの生成と単純な描画
サーフェイスの生成と単純な描画
概要
SDLサーフェイスはシステムRAM上にあるピクセルのバッファである. GPUメモリ上ではないため, 画像の受け渡しや操作に便利である.
SDL_Surfaceは様々な形式の画像の操作に対応している. そして, サーフェイス間のコピー, 画像データの長方形領域の塗りつぶし等のデータ操作に便利な道具が提供されている.
単純な.bmpローダーのSDL_LoadBMP()も存在する.
SDL自身は他の様々なファイル形式の読み込みは提供されていないが, 補助ライブラリのSDL_imageを含むいくつかの優れた外部ライブラリが存在する:
https://github.com/libsdl-org/SDL_image
関数
- SDL_AddSurfaceAlternateImage - サーフェイスに別のバージョンを追加する
- SDL_BlitSurface - サーフェイスを別のサーフェイスに高速にブロック転送する
- SDL_BlitSurface9Grid - サーフェイスに9-grid algorithmを使用して拡大縮小して転送する
- SDL_BlitSurfaceScaled - サーフェイスに拡大縮小して転送する
- SDL_BlitSurfaceTiled - サーフェイスにタイル状に敷き詰めるように転送する
- SDL_BlitSurfaceTiledWithScale - サーフェイスに拡大縮小してタイル状に敷き詰めるように転送する
- SDL_BlitSurfaceUnchecked - 低レベルのサーフェイス転送のみを行う
- SDL_BlitSurfaceUncheckedScaled - 低レベルの拡大縮小サーフェイス転送のみを行う
- SDL_ClearSurface - サーフェイスを浮動小数点で指定した色で消去する
- SDL_ConvertPixels - ある形式のピクセル群を別の形式に変換してコピーする
- SDL_ConvertPixelsAndColorspace - ある形式のピクセル群を別の形式と色空間に変換してコピーする
- SDL_ConvertSurface - 既存のサーフェイスを別の形式に変換して新しいサーフェイスを生成する
- SDL_ConvertSurfaceAndColorspace - 既存のサーフェイスを別の形式に変換して新しいサーフェイスを生成する
- SDL_CreateSurface - 指定したピクセル形式で新しいサーフェイスを生成する
- SDL_CreateSurfaceFrom - 既存のピクセルデータから指定のピクセル形式の新しいサーフェイスを生成する
- SDL_CreateSurfacePalette - パレットを生成してサーフェイスに関連付ける
- SDL_DestroySurface - サーフェイスを破棄する
- SDL_DuplicateSurface - 既存のサーフェイスを複製する
- SDL_FillSurfaceRect - 指定の色で塗りつぶした長方形を高速に描画する
- SDL_FillSurfaceRects - 指定の色で塗りつぶした複数の長方形を高速に描画する
- SDL_FlipSurface - サーフェイスを垂直または水平方向に反転する
- SDL_GetSurfaceAlphaMod - 転送で使用するα値を得る
- SDL_GetSurfaceBlendMode - 転送で使用するブレンドモードを得る
- SDL_GetSurfaceClipRect - サーフェイスのクリップ枠を得る
- SDL_GetSurfaceColorKey - サーフェイスのカラーキー(透過ピクセル)を得る
- SDL_GetSurfaceColorMod - 転送時に積算される色要素を得る
- SDL_GetSurfaceColorspace - サーフェイスの色空間を得る
- SDL_GetSurfaceImages - サーフェイスの全てのバージョンの配列を得る
- SDL_GetSurfacePalette - サーフェイスのパレットを得る
- SDL_GetSurfaceProperties - サーフェイスのプロパティを得る
- SDL_LoadBMP - BMPファイルをサーフェイスに読み込む
- SDL_LoadBMP_IO - シーク可能なSDLデータストリームからBMP形式をサーフェイスに読み込む
- SDL_LockSurface - ピクセル領域に直接アクセスできるように設定する
- SDL_MapSurfaceRGB - RGBの値からサーフェイスの不透明なピクセルの値を求める
- SDL_MapSurfaceRGBA - RGBAの値からサーフェイスの透過ピクセルの値を求める
- SDL_PremultiplyAlpha - ピクセル群のα要素を事前に積算する
- SDL_PremultiplySurfaceAlpha - サーフェイスのα要素を事前に積算する
- SDL_ReadSurfacePixel - サーフェイスからピクセルを読み取る
- SDL_ReadSurfacePixelFloat - サーフェイスからピクセルを読み取る
- SDL_RemoveSurfaceAlternateImages - サーフェイスの全ての別バージョンを取り除く
- SDL_SaveBMP - サーフェイスをBMPファイルとして保存する
- SDL_SaveBMP_IO - サーフェイスをシーク可能なSDLストリームにBMP形式で書き込む
- SDL_ScaleSurface - 既存のサーフェイスのサイズを変更して新しいサーフェイスを生成する
- SDL_SetSurfaceAlphaMod - 転送で使用するα値を設定する
- SDL_SetSurfaceBlendMode - 転送で使用するブレンドモードを設定する
- SDL_SetSurfaceClipRect - サーフェイスのクリップ枠を設定する
- SDL_SetSurfaceColorKey - サーフェイスのカラーキー(透過ピクセル)を設定する
- SDL_SetSurfaceColorMod - 転送時に積算される色要素を設定する
- SDL_SetSurfaceColorspace - サーフェイスの色空間を設定する
- SDL_SetSurfacePalette - サーフェイスのパレットを設定する
- SDL_SetSurfaceRLE - サーフェイスにRLEアクセラレーションのヒントを設定する
- SDL_StretchSurface - サーフェイスにピクセルを引き延ばして転送する
- SDL_SurfaceHasAlternateImages - サーフェイスに利用可能な別のバージョンがあるかを得る
- SDL_SurfaceHasColorKey - サーフェイスのカラーキーの有無を得る
- SDL_SurfaceHasRLE - サーフェイスのRLEが有効かを得る
- SDL_UnlockSurface - ピクセル領域に直接アクセスした後にロックを解放する
- SDL_WriteSurfacePixel - サーフェイスにピクセルを書き込む
- SDL_WriteSurfacePixelFloat - サーフェイスにピクセルを書き込む
型
- SDL_SurfaceFlags - SDL_Surfaceのフラグの型
構造体
- SDL_Surface - ソフトウェア転送で使われるピクセルの集まりの構造体
列挙体
- SDL_FlipMode - 反転モードの列挙体
- SDL_ScaleMode - 拡大縮小モードの列挙体
マクロ
- SDL_MUSTLOCK - アクセスのためにサーフェイスをロックする必要があるかを調べるマクロ
SDL Wikiへのリンク
SDL3/CategorySurface - SDL Wiki