目次 - API(機能別) - ピクセル形式と変換 - SDL_PixelFormat

SDL_PixelFormat

ピクセル形式の情報の構造体

フィールド

Uint32formatSDL_PixelFormatEnumの値の1つ
SDL_Palette*paletteピクセル形式に関連付けられたSDL_Paletteの配列, NULLのときパレットを持たない
Uint8BitsPerPixelピクセル値の有効なビット数. 例: 8, 15, 16, 24, 32
Uint8BytesPerPixelピクセル値に必要なバイト数. 例: 1, 2, 3, 4 (詳細を参照すること)
Uint32Rmaskピクセルの赤チャネルの位置を表すマスク
Uint32Gmaskピクセルの緑チャネルの位置を表すマスク
Uint32Bmaskピクセルの青チャネルの位置を表すマスク
Uint32Amaskピクセルのαチャネルの位置を表すマスク. 0ならばα値を持たない
Uint8Rloss(内部で使用)
Uint8Gloss(内部で使用)
Uint8Bloss(内部で使用)
Uint8Aloss(内部で使用)
Uint8RShift(内部で使用)
Uint8GShift(内部で使用)
Uint8BShift(内部で使用)
Uint8AShift(内部で使用)
intrefcount(内部で使用)
SDL_PixelFormat*next(内部で使用)

詳細

この構造体のフィールドは全て読み取り専用である.

ピクセル形式はパレットかマスクのいずれかである. パレットならば, Rmask, Gmask, Bmask, Amaskは全て0である.

ピクセルのバイト数に対するデータ型は以下の通りある.
1ピクセルあたりのバイト数データ型
1Uint8
2Uint16
33つのUint8
4Uint32

SDL_PixelFormatは, SDL_Surfaceのpixelsフィールドに格納されたピクセルの形式を記述する. サーフェイスのformatフィールドにはSDL_PixelFormatが格納されている.

ピクセルのレベルを変えたいならば, SDLがどのように色情報を格納しているかを理解しなければならない. サンプルコードに詳細な情報がある.

現代的なピクセル色空間の情報は以下のWikipediaの項目にある: http://en.wikipedia.org/wiki/RGBA_color_space

関連項目(構造体)

SDL_Surface

関連項目(関数)

SDL_ConvertSurface
SDL_GetRGB
SDL_GetRGBA
SDL_MapRGB
SDL_MapRGBA

SDL Wikiへのリンク

SDL_PixelFormat - SDL Wiki