Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2023 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_PixelFormatEnum

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_PixelFormatEnum

Enumeracja formatów pikseli,

Wartości

Makra formatów pikseli:

SDL_PIXELTYPE(format) typ formatu pikseli, zobacz na Uwagi.
SDL_PIXELORDER(format) uporządkowanie kanałów lub bitów w formacie pikseli, zobacz na Uwagi.
SDL_PIXELLAYOUT(format) wzór bitowy kanałów formatu pikseli, zobacz na Uwagi.
SDL_BITSPERPIXEL(format) liczba bitów informacji koloru w formacie pikseli.
SDL_BYTESPERPIXEL(format) liczba bajtów na piksel.
SDL_ISPIXELFORMAT_INDEXED(format) prawda dla formatów pikseli z paletą
SDL_ISPIXELFORMAT_ALPHA(format) prawda dla formatów pikseli z kanałem alfa.
SDL_ISPIXELFORMAT_FOURCC(format) prawda dla formatów pikseli reprezentujących szczególne formaty, na przykład formaty YUV.

Wartości formatów pikseli:

SDL_PIXELFORMAT_UNKNOWN  
SDL_PIXELFORMAT_INDEX1LSB  
SDL_PIXELFORMAT_INDEX1MSB  
SDL_PIXELFORMAT_INDEX4LSB  
SDL_PIXELFORMAT_INDEX4MSB  
SDL_PIXELFORMAT_INDEX8  
SDL_PIXELFORMAT_RGB332  
SDL_PIXELFORMAT_RGB444  
SDL_PIXELFORMAT_RGB555  
SDL_PIXELFORMAT_BGR555  
SDL_PIXELFORMAT_ARGB4444  
SDL_PIXELFORMAT_RGBA4444  
SDL_PIXELFORMAT_ABGR4444  
SDL_PIXELFORMAT_BGRA4444  
SDL_PIXELFORMAT_ARGB1555  
SDL_PIXELFORMAT_RGBA5551  
SDL_PIXELFORMAT_ABGR1555  
SDL_PIXELFORMAT_BGRA5551  
SDL_PIXELFORMAT_RGB565  
SDL_PIXELFORMAT_BGR565  
SDL_PIXELFORMAT_RGB24  
SDL_PIXELFORMAT_BGR24  
SDL_PIXELFORMAT_RGB888  
SDL_PIXELFORMAT_RGBX8888  
SDL_PIXELFORMAT_BGR888  
SDL_PIXELFORMAT_BGRX8888  
SDL_PIXELFORMAT_ARGB8888  
SDL_PIXELFORMAT_RGBA8888  
SDL_PIXELFORMAT_ABGR8888  
SDL_PIXELFORMAT_BGRA8888  
SDL_PIXELFORMAT_ARGB2101010  
SDL_PIXELFORMAT_RGBA32 alias (nazwa zastępcza) dla ciągu bajtów RGBA danych koloru na bieżącej platformie (>= SDL 2.0.5).
SDL_PIXELFORMAT_ARGB32 alias dla ciągu bajtów ARGB danych koloru na bieżącej platformie (>= SDL 2.0.5).
SDL_PIXELFORMAT_BGRA32 alias dla ciągu bajtów BGRA danych koloru na bieżącej platformie (>= SDL 2.0.5).
SDL_PIXELFORMAT_ABGR32 alias dla ciągu bajtów ABGR danych koloru na bieżącej platformie (>= SDL 2.0.5).
SDL_PIXELFORMAT_YV12 tryb planarny: Y + V + U (3 płaszczyzny).
SDL_PIXELFORMAT_IYUV tryb planarny: Y + U + V (3 płaszczyzny).
SDL_PIXELFORMAT_YUY2 tryb spakowany: Y0+U0+Y1+V0 (1 płaszczyzna).
SDL_PIXELFORMAT_UYVY tryb spakowany: U0+Y0+V0+Y1 (1 płaszczyzna).
SDL_PIXELFORMAT_YVYU tryb spakowany: Y0+V0+Y1+U0 (1 płaszczyzna).
SDL_PIXELFORMAT_NV12 tryb planarny: Y + U/V z przeplotem (2 płaszczyzny) (>= SDL 2.0.4)
SDL_PIXELFORMAT_NV21 tryb planarny: Y + V/U z przeplotem (2 płaszczyzny) (>= SDL 2.0.4)

Uwagi

Typ pikseli jest jedną z następujących wartości:

SDL_PIXELTYPE_UNKNOWN

SDL_PIXELTYPE_INDEX1

SDL_PIXELTYPE_INDEX4

SDL_PIXELTYPE_INDEX8

SDL_PIXELTYPE_PACKED8

SDL_PIXELTYPE_PACKED16

SDL_PIXELTYPE_PACKED32

SDL_PIXELTYPE_ARRAYU8

SDL_PIXELTYPE_ARRAYU16

SDL_PIXELTYPE_ARRAYU32

SDL_PIXELTYPE_ARRAYF16

SDL_PIXELTYPE_ARRAYF32

W zależności od typu pikseli istnieją trzy różne rodzaje uporządkowań – bitmapowe, spakowane lub ciągowe.

Kolejność bitów w pikselu (najstarszy bit → najmłodszy bit)
SDL_BITMAPORDER_NONE
SDL_BITMAPORDER_4321
SDL_BITMAPORDER_1234
kolejność spakowanych składników (najstarszy bit → najmłodszy bit)
SDL_PACKEDORDER_NONE
SDL_PACKEDORDER_XRGB
SDL_PACKEDORDER_RGBX
SDL_PACKEDORDER_ARGB
SDL_PACKEDORDER_RGBA
SDL_PACKEDORDER_XBGR
SDL_PACKEDORDER_BGRX
SDL_PACKEDORDER_ABGR
SDL_PACKEDORDER_BGRA
kolejność składników ciągu  (najmłodszy bit → najstarszy bit)
SDL_ARRAYORDER_NONE
SDL_ARRAYORDER_RGB
SDL_ARRAYORDER_RGBA
SDL_ARRAYORDER_ARGB
SDL_ARRAYORDER_BGR
SDL_ARRAYORDER_BGRA
SDL_ARRAYORDER_ABGR

Spakowane formaty pikseli posiadają jeden z następujących układów kanałów:

SDL_PACKEDLAYOUT_NONE
SDL_PACKEDLAYOUT_332
SDL_PACKEDLAYOUT_4444
SDL_PACKEDLAYOUT_1555
SDL_PACKEDLAYOUT_5551
SDL_PACKEDLAYOUT_565
SDL_PACKEDLAYOUT_8888
SDL_PACKEDLAYOUT_2101010
SDL_PACKEDLAYOUT_1010102

Aliasy SDL_PIXELFORMAT_*32

SDL_PIXELFORMAT_RGBA32 jest aliasem dla SDL_PIXELFORMAT_RGBA8888 dla platform typu big endian machines oraz dla SDL_PIXELFORMAT_ABGR8888 dla platform typu little endian, zatem możesz używać ich do określania, że twoje piksele są reprezentowane przez ciągi bajtowe RGBA, jak SDL_PIXELFORMAT_RGB24 jest ciągiem bajtów RGB.
Jednakże, jako alias posiada identyczną wartość jak aliasowany typ, zatem SDL_GetPixelFormatName(SDL_PIXELFORMAT_RGBA32) zwróci nazwę aliasowanego typu (np. "SDL_PIXELFORMAT_ABGR8888"), w zależności od twojej platformy.

To samo dotyczy SDL_PIXELFORMAT_ARGB32, SDL_PIXELFORMAT_BGRA32 i SDL_PIXELFORMAT_ABGR32 (z tą jedyną różnicą, że są one oczywiście aliasami dla innych formatów pikseli). Aliasy SDL_PIXELFORMAT_*32 są dostępne od SDL 2.0.5.

Powiązane struktury

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2023 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.