Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

Do strony głównej I LO w Tarnowie

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

logo

Autor artykułu: mgr Jerzy Wałaszek

 

SDL2

Interfejs SDL2:

SDL_CreateTextureFromSurface

Rozdziały:
     Interfejs SDL2 wg nazw
     Interfejs SDL2 wg kategorii

 

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2. Oryginał znajdziesz pod tym adresem: https://wiki.libsdl.org/CategoryAPI.

SDL_CreateTextureFromSurface

Użyj tej funkcji, aby utworzyć teksturę z istniejącej powierzchni graficznej.

Składnia

SDL_Texture* SDL_CreateTextureFromSurface(SDL_Renderer* renderer,
                                          SDL_Surface*  surface)

Parametry funkcji

renderer kontekst graficzny.
surface struktura SDL_Surface zawierajaca dane pikseli używane do wypełnienia tekstury.

Wartość zwracana

Zwraca utworzoną teksturę lub NULL przy błędzie; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Przykładowy kod

Uint32 rmask, gmask, bmask, amask;

/* SDL traktuje każdy piksel jako liczbę 32-bitową, więc nasze maski muszą zależeć
       od uporządkowania bajtów na danej platformie */
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
    rmask = 0xff000000;
    gmask = 0x00ff0000;
    bmask = 0x0000ff00;
    amask = 0x000000ff;
#else
    rmask = 0x000000ff;
    gmask = 0x0000ff00;
    bmask = 0x00ff0000;
    amask = 0xff000000;
#endif

SDL_Surface *surface = SDL_CreateRGBSurface(0, 640, 480, 32, rmask, gmask, bmask, amask);

if (surface == NULL)
{
    fprintf(stderr, "CreateRGBSurface failed: %s\n", SDL_GetError());
    exit(1);
}


SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface);

if (texture == NULL)
{
    fprintf(stderr, "CreateTextureFromSurface failed: %s\n", SDL_GetError());
    exit(1);
}

SDL_FreeSurface(surface);
surface = NULL;

Uwagi

Powierzchnia graficzna nie jest modyfikowana ani zwalniana przez tę funkcję.

Opcja SDL_TextureAccess dla utworzonej tekstury ma wartość SDL_TEXTUREACCESS_STATIC.

Format pikseli utworzonej tekstury może być inny od formatu powierzchni. Użyj SDL_QueryTexture() w celu sprawdzenia formatu pikseli na teksturze.

Powiązane funkcje

 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2021 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.