2013-11-18 4 views
-1

IDE: Code :: блоки Компилятор: MinGWC++ SDL, SDL_image вопросы

У меня есть SDL и SDL_image установлены правильно (это не дает каких-либо ошибок при встраивании). Все компилируется нормально, но когда я запускаю его, открывается окно SDL, но изображение никогда не слетает, окно. Я использую SDL_image, поэтому я могу загружать изображения PNG (или я надеюсь).

Код:

#include <cstdlib> 
#include <iostream> 
#include "SDL_image.h" 
#include <SDL/SDL.h> 

int main (int argc, char** argv) 
{ 
    SDL_Surface* test = NULL; 
    SDL_Surface* screen = NULL; 
    //Start SDL 
    SDL_Init(SDL_INIT_EVERYTHING); 

    //Name the window 
    SDL_WM_SetCaption("Test-1", NULL); 
    //Set up screen 
    screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE); 

    //Load image 
    test = IMG_Load("Test.png"); 
    //Apply image to screen 
    SDL_BlitSurface(test, NULL, screen, NULL); 
    //Update Screen 
    SDL_Flip(screen); 

    //Pause 
    SDL_Delay(2000); 
    //Free the loaded image 
    SDL_FreeSurface(test); 

    //Quit SDL 
    SDL_Quit(); 

    return 0; 
} 
+1

Добавьте ошибку проверки, чтобы убедиться, что вызов 'IMG_Load' успешный. –

+1

И если это не так, вызовите 'SDL_GetError', чтобы узнать проблему. –

ответ

0

Может быть, вы могли бы попробовать создать окно, а затем поверхность, а затем блитирование изображения на окно через поверхность? Тогда вы можете попробовать с помощью этой функции: SDL_UpdateWindowSurface(*windowinstance*)

Более подробная информация здесь: link (хотя это загружая * .bmp файл, но я уверен, что эта концепция является то же самое). Также попробуйте вышеупомянутый ответ. Возможно, это изображение не найдено ...

Смежные вопросы