Uint32 | format | SDL_PixelFormatEnumの値の1つ |
SDL_Palette* | palette | ピクセル形式に関連付けられたSDL_Paletteの配列, NULLのときパレットを持たない |
Uint8 | BitsPerPixel | ピクセル値の有効なビット数. 例: 8, 15, 16, 24, 32 |
Uint8 | BytesPerPixel | ピクセル値に必要なバイト数. 例: 1, 2, 3, 4 (詳細を参照すること) |
Uint32 | Rmask | ピクセルの赤チャネルの位置を表すマスク |
Uint32 | Gmask | ピクセルの緑チャネルの位置を表すマスク |
Uint32 | Bmask | ピクセルの青チャネルの位置を表すマスク |
Uint32 | Amask | ピクセルのαチャネルの位置を表すマスク. 0ならばα値を持たない |
Uint8 | Rloss | (内部で使用) |
Uint8 | Gloss | (内部で使用) |
Uint8 | Bloss | (内部で使用) |
Uint8 | Aloss | (内部で使用) |
Uint8 | RShift | (内部で使用) |
Uint8 | GShift | (内部で使用) |
Uint8 | BShift | (内部で使用) |
Uint8 | AShift | (内部で使用) |
int | refcount | (内部で使用) |
SDL_PixelFormat* | next | (内部で使用) |
この構造体のフィールドは全て読み取り専用である.
ピクセル形式はパレットかマスクのいずれかである. パレットならば, Rmask, Gmask, Bmask, Amaskは全て0である.
ピクセルのバイト数に対するデータ型は以下の通りある.
1ピクセルあたりのバイト数 | データ型 |
---|---|
1 | Uint8 |
2 | Uint16 |
3 | 3つのUint8 |
4 | Uint32 |
SDL_PixelFormatは, SDL_Surfaceのpixelsフィールドに格納されたピクセルの形式を記述する. サーフェイスのformatフィールドにはSDL_PixelFormatが格納されている.
ピクセルのレベルを変えたいならば, SDLがどのように色情報を格納しているかを理解しなければならない. サンプルコードに詳細な情報がある.
現代的なピクセル色空間の情報は以下のWikipediaの項目にある: http://en.wikipedia.org/wiki/RGBA_color_space