2017-03-09 90 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

你需要给位图图像的完整路径的文件。如果图像与程序位于同一个目录中,那么当前代码将在包含<>之后运行。