Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy
Wałaszek |
©2025 mgr Jerzy Wałaszek
|
SDL_BlitSurface
SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby wykonać szybkie kopiowanie pikseli na docelową powierzchnię graficzną.
nt SDL_BlitSurface(SDL_Surface* src, const SDL_Rect* srcrect, SDL_Surface* dst, SDL_Rect* dstrect) |
src | struktura SDL_Surface, z której nastąpi kopiowanie. |
srcrect | struktura SDL_Rect reprezentująca prostokąt do skopiowania lub NULL przy kopiowaniu zawartości całej powierzchni. |
dst | struktura SDL_Surface reprezentująca docelową powierzchnię dla kopiowania. |
dstrect | struktura SDL_Rect określająca prostokąt na powierzchni docelowej, do którego nastąpi kopiowanie, lub NULL do kopiowania na całej powierzchni. |
SDL_BlitSurface(surface, &source_rect, temp_surface, NULL); |
Jest to funkcja publiczna i dokonuje ona sprawdzenia poprawności prostokątów oraz obcinania przed przejściem do SDL_LowerBlit().
Funkcja kopiowania pikseli nie powinna być wykonywana na zablokowanej powierzchni.
Szerokość i wysokość w srcrect określa rozmiar kopiowanego prostokąta. W dstrect używane jest tylko położenie (szerokość i wysokość są ignorowane). Kopiowanie pikseli z ujemnymi współrzędnymi dstrect zostanie odpowiednio przycięte.
Jeśli srcrect ma wartość NULL, to zostanie skopiowana cała powierzchnia. Jeśli dstrect ma wartość NULL, wtedy docelową pozycją (lewy górny narożnik) będzie (0, 0).
Docelowy prostokąt kopiowania jest zapamiętywany w dstrect po wykonaniu wszystkich przycięć (srcrect nie jest modyfikowany).
Semantyka dla powierzchni z lub bez wtapiania (ang. blending) i z kluczowaniem kolorów jest zdefiniowana następująco:
alpha-blend (używając źródłowego kanału alfa i kanału alfa dla całej powierzchni) SDL_SRCCOLORKEY ignorowany.
Tryb wtapiania powierzchni źródłowej jest ustawiony na SDL_BLENDMODE_NONE:
kopiowanie RGB. Jeśli SDL_SRCCOLORKEY jest ustawiony, to kopiowanie dotyczy tylko pikseli o wartościach RGB zgodnych z kluczem koloru źródłowego, ignorując przezroczystość w porównaniu.
alpha-blend (używając kanału alfa dla całej powierzchni źródłowej)
Tryb wtapiania powierzchni źródłowej jest ustawiany na SDL_BLENDMODE_NONE:
kopiowanie RGB, Ustawienie docelowego kanału alfa na źródłowy kanał alfa dla całej powierzchni.
oba:
jeśli SDL_SRCCOLORKEY jest ustawiony, to kopiowanie dotyczy tylko pikseli o wartościach RGB zgodnych z kluczem koloru źródłowego
alpha-blend (używając źródłowego kanału alfa i kanału alfa dla całej powierzchni) SDL_SRCCOLORKEY ignorowany.
Tryb wtapiania powierzchni źródłowej jest ustawiany na SDL_BLENDMODE_NONE:
kopiowanie wszystkich składowych RGBA na powierzchnię docelową. Jeśli SDL_SRCCOLORKEY jest ustawiony, to kopiowanie dotyczy tylko pikseli o wartościach RGB zgodnych z kluczem koloru źródłowego, ignorując przezroczystość w porównaniu.
alpha-blend (używając kanału alfa dla całej powierzchni źródłowej)
Tryb wtapiania powierzchni źródłowej jest ustawiany na SDL_BLENDMODE_NONE:
kopiowanie RGB.
oba:
jeśli SDL_SRCCOLORKEY jest ustawiony, to kopiowanie dotyczy tylko pikseli o wartościach RGB zgodnych z kluczem koloru źródłowego
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2025 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.