Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SDL] Problem z SDL_CreateRGBSurface()

Ostatnio zmodyfikowano 2011-06-27 16:02
Autor Wiadomość
programista12
Temat założony przez niniejszego użytkownika
[SDL] Problem z SDL_CreateRGBSurface()
» 2011-06-26 20:18:06
C/C++
SDL_Surface * test = NULL;
test = SDL_CreateRGBSurface( SDL_SWSURFACE, w, h, 32, 255, 0, 0, SDL_SRCALPHA );
SDL_SetAlpha( test, SDL_SRCALPHA, 128 );
//(...)
ShowImage( x, y, test, screen ); //moja funkcja wyświetlająca obraz
Chodzi o to, że jak w funkcji SDL_CreateRGBSurface podam kolor inny niż R=0,G=0,B=0 to prostokąt nie pokazuje się. Jak to naprawić?
P-34746
DejaVu
» 2011-06-26 21:45:34
Pewnie kanał alfa źle obsługujesz :)
P-34754
kamillo121
» 2011-06-26 23:46:22
C/C++
SDL_Surface * test = NULL;
test = SDL_CreateRGBSurface( SDL_SWSURFACE, w, h, 32, r, g, b, SDL_SRCALPHA );
SDL_SetAlpha( test, SDL_SRCALPHA, 128 );
//..

Spróbuj jeszcze ustawić za r g i b wartości z powierzchni ekranowej.
Chyba to były pola  rmask, gmask i bmask ale głowy za to nie dam.
P-34765
programista12
Temat założony przez niniejszego użytkownika
» 2011-06-27 09:16:07
W parametrach RBG podałem screen->format->Rmask itd., ale dalej nie działa. Wykomentowałem też SDL_SetAlpha(), ale nadal nie działa. Wyczytałem w internecie, że tą funkcję trzeba wywołać przed funkcją SDL_SetVideoMode(), ale to też nie pomaga.
P-34779
programista12
Temat założony przez niniejszego użytkownika
» 2011-06-27 16:02:06
Problem rozwiązany. Użyłem na tworzonej powierzchni funkcji SDL_FillRect() i kolory działają. Temat zamykam.
P-34788
« 1 »
  Strona 1 z 1