如何在Windows上的c小程序上显示bmp图像?

时间:2017-03-09 13:44:17

标签: c sdl

我实际上学习了如何用C编程,我有一点问题。我想在我的程序中显示一个图像,但我不知道为什么它不起作用。我想要显示的图像不会出现。我只看到黑色背景。

具有主要功能的文件

#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;
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您需要提供位图图像的完整路径。如果图像与程序位于同一目录中,则在使用<>附上包含后,当前代码将起作用。