2017-03-09 82 views
0

我正在學習如何使用C語言進行編程,而且我遇到了一些問題。我想在我的程序中顯示一個圖像,但我不知道爲什麼它不起作用。我想要顯示的圖像不會出現。我只看到一個黑色的背景。如何在Windows上的c小程序上顯示bmp圖像?

與主要功能

#include stdlib.h 
#include stdio.h 
#include SDL/SDL.h 

void pause(); 
int main(int argc, char *argv[]) { 
    SDL_Surface *ecran = NULL, *imageDeFond = NULL; 
    SDL_Rect positionFond; 

    positionFond.x = 0; 
    positionFond.y = 0; 

    SDL_Init(SDL_INIT_VIDEO); 

    SDL_WM_SetIcon(SDL_LoadBMP("sdl_icone.bmp"), NULL); 
    ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE); 

    SDL_WM_SetCaption("Chargement d'images en SDL", NULL); 

    /* Chargement d'une image Bitmap dans une surface */ 
    imageDeFond = SDL_LoadBMP("lac_en_montagne.bmp"); 

    SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond); 

    SDL_Flip(ecran); 

    pause(); 

    SDL_FreeSurface(imageDeFond); 
    SDL_Quit(); 
    return EXIT_SUCCESS; 
} 

void pause() { 
    int continuer = 1; 
    SDL_Event event; 
    while (continuer) { 
    SDL_WaitEvent(&event); 
    switch (event.type) { 
     case SDL_QUIT: 
     continuer = 0; 
    } 
    } 
} 
+0

你收到了什麼錯誤信息?與你期望發生的事情相比,發生了什麼? –

+0

我只有一個沒有任何圖像的黑色佈局,因爲我沒有在我的代碼中插入任何圖像。 –

+0

我沒有收到任何錯誤消息,只有圖像沒有顯示的事實。 –

回答

0

你需要給位圖圖像的完整路徑的文件。如果圖像與程序位於同一個目錄中,那麼當前代碼將在包含<>之後運行。