SDL obsługa grafiki :]
Ostatnio zmodyfikowano 2011-01-30 22:25
yoogi Temat założony przez niniejszego użytkownika |
SDL obsługa grafiki :] » 2011-01-30 21:23:15 Witam mam taki problem (kolejny do kolekcji) ładuję bitmap'ę w *.png i się nie wyświetla a oto kod: #include <SDL.h> #include <SDL_image.h> SDL_Surface * ekran = NULL; SDL_Surface * obraz = NULL; SDL_Rect sprst; SDL_Rect dprst; SDL_Event zdarzenie; bool wyjscie = false;
int main( int argc, char * args[] ) { SDL_Init( SDL_INIT_EVERYTHING ); ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE ); obraz = IMG_Load("x.png");
sprst.x = 0; sprst.y = 0; sprst.w = 200; sprst.h = 200;
dprst.x = 0; dprst.y = 0;
SDL_BlitSurface( obraz, & sprst, ekran, & dprst);
SDL_Flip( ekran ); while( !wyjscie ) { while( SDL_PollEvent( & zdarzenie ) ) { if( zdarzenie.type == SDL_QUIT ) { wyjscie = true; } } } SDL_Quit(); SDL_FreeSurface( obraz ); return 0; }
|
|
malan |
» 2011-01-30 21:41:00 1. Użyłeś błędnych tagów. Kod wstawia się w [cpp][/cpp]. 2. #include <fstream>
obraz = IMG_Load( "x.png" ); if( !obraz ) { std::ofstream file( "err.txt" ); if( file.good() ) file << IMG_GetError(); } Jeżeli nie uda się załadować obrazu, to w pliku err.txt dostaniesz odpowiedź, co poszło nie tak. |
|
kamillo121 |
» 2011-01-30 22:13:54 Sprawdź jeszcze czy plik graficzny jest w odpowiednim folderze, czy plik graficzny to na 100% png a nie inny rodzaj ze zmienionym ręcznie rozszerzeniem i usuń na próbę z SDL_BlitSurface obydwa recty a w ich miejsce zapodaj wartość NULL i zobacz wtedy. |
|
yoogi Temat założony przez niniejszego użytkownika |
» 2011-01-30 22:25:17 rozszerzenie to na 100% *.png bo sam to zrobiłem na test a co do tych rectów i blipa to usunołem i nic mi się wydaję że to ma chyba problem z wczytaniem obrazka
#edit Failed loading libpng12-0.dll: Nie można odnaleźć określonego modułu.
#edit wielkie dzięki teraz wszystko chodzi wystarczyło dodać parę dll'ków do folderu z aplikacją ;] |
|
« 1 » |