Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
©2021 mgr Jerzy Wałaszek
|
|
Autor artykułu: mgr Jerzy Wałaszek |
SDL2Interfejs SDL2:SDL_PixelFormat |
|
|
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2. Oryginał znajdziesz pod tym adresem: https://wiki.libsdl.org/CategoryAPI.
SDL_PixelFormat |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Struktura zawiera informację o formacie pikseli. Pola danych
Przykładowy kodNajłatwiejsze do zrozumienia są 8-bitowe formaty pikseli. Ponieważ jest to format 8-bitowy, pole BitsPerPixel ma wartość 8, a BytesPerPixel ma wartość 1. Ponieważ BytesPerPixel wynosi 1, wszystkie piksele są reprezentowane przez typ Uint8, który zawiera indeks w tablicy palette->colors. Zatem, aby określić kolor piksela na 8-bitowej powierzchni, odczytujemy indeks koloru z surface->pixels i uzywamy tego indeksu do odczytu struktury SDL_Color z surface->format->palette->colors. Na przykład tak:
Formaty pikseli powyżej 8 bitów są zupełnie inne. Traktuje się je jako formaty "TrueColor", a informacja o kolorze przechowywana jest w samych pikselach, a nie w palecie. Pola mask, shift i loss informują nas o sposobie kodowania kolorów. Pola mask pozwalają na wyodrębnienie każdej ze składowych kolorów, pola shift informują nas o liczbie bitów na prawo od kazdej składowej w wartości piksela, a pola loss informują nas o liczbie bitów traconych z każdej składowej, przy umieszczaniu 8-bitowej składowej koloru w kodzie piksela.
Uwagi
Wszystko w strukturze formatu pikseli jest tylko do odczytu.
Format pikseli posiada albo paletę, albo maski. Jeśli jest używana paleta, pola Rmask, Gmask, Bmask i Amask będą miały wartość 0. Typy danych dla pikseli są następujące:
Struktura SDL_PixelFormat opisuje format danych pikseli przechowywanych w polu pixels struktury SDL_Surface. Każda powierzchnia przechowuje strukturę SDL_PixelFormat w polu format. Jeśli zamierzasz dokonywać manipulacji na pikselach powierzchni graficznej, to niezbędne staje się zrozumienie, w jaki sposób SDL przechowuje informacje o ich kolorach. Zobacz na przykładowe kody przedstawione powyżej. Powiązane strukturyPowiązane funkcje |
![]() |
Zespół Przedmiotowy |
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.