Partage
  • Partager sur Facebook
  • Partager sur Twitter

Charger des *.bmp en SDL

    26 mai 2006 à 16:50:21

    Bonjour zer0s ! Voila, je me demandais si vous n'aviez pas eu un jour le meme probleme que moi ! Je cree un tout petit programme de base pour afficher une fentre SDL exactement comme dans les cours, mais ce n'est pas la mon probleme, lorsque je charge une image, tout va bien mais quand j'en charge une autre, le programme ne se lance meme pas une seconde. Je precise que c'est bien quand j'essaie d'en charger une autre et non pas quand j'essaie d'en charger deux a la fois. Est-ce que vous sauriez pas s'il y'a une limite de poid ou de couleur?

    en tout cas merci pour ceux qui pourront m'aider !

    PS: dans mon exemple, tout va bien avec zozor.bmp des cours mais mes *.BMP ne marchent pas
    • Partager sur Facebook
    • Partager sur Twitter
      26 mai 2006 à 16:54:56

      Tu n'a rien dans le fichier d'erreurs ?

      Fais gaffe aux extensions : *.BMP != *.bmp

      Le fichier est-il bien dans le dossier du projet ?
      • Partager sur Facebook
      • Partager sur Twitter
        26 mai 2006 à 16:57:47

        oui, l'images est bien dans le dossier de mon projet, enfait, aucune erreur s'afficher puisque le programme se lance a la vitesse eclair, pourtant, j'ai bien mis une boucle while avec continuer tant qu'on ne sort pas du programme mais est-ce qut tu pourrais m'expliquer tes extensions ?

        y'a combien d'extensions dans tout ca : BMP ≠ .bmp ?
        et quel est la difference ?

        Edit : J'ai modifier mon code, et maintenant le programme se lance mais l'image ne s'affiche pas, ca va etre plus facile a trouver l'erreur je pense :

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

        main(int argc, char *argv[])
        {
            SDL_Init(SDL_INIT_VIDEO);

            int continuer = 1;
            SDL_Event event;

            SDL_Surface *ecran = NULL, *image = NULL;

            ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
            SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));

            image = SDL_LoadBMP("lolot92.bmp");

            SDL_Rect position_image;
            position_image.x = 20;
            position_image.y = 20;

            SDL_BlitSurface(image, NULL, ecran, &position_image);

            SDL_Flip(ecran);

            while(continuer)
            {
                SDL_WaitEvent(&event);
                switch(event.type)
                {
                    case SDL_QUIT:
                        continuer = 0;
                    break;
                }
            }

            SDL_Quit;
            return EXIT_SUCCESS;
        }

        C'est la premiere fois que je poste du code c dans le forum :o
        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2006 à 18:13:40

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

          int main(int argc, char *argv[])
          {
              SDL_Init(SDL_INIT_VIDEO);

              int continuer = 1;
              SDL_Event event;

              SDL_Surface *ecran = NULL, *image = NULL;

              ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
              SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));

              image = SDL_LoadBMP("lolot92.bmp");

              SDL_Rect position_image;
              position_image.x = 20;
              position_image.y = 20;

              SDL_BlitSurface(image, NULL, ecran, &position_image);

              SDL_Flip(ecran);

              while(continuer)
              {
                  SDL_WaitEvent(&event);
                  switch(event.type)
                  {
                      case SDL_QUIT:
                          continuer = 0;
                      break;
                  }
              }

              SDL_Quit();
              return EXIT_SUCCESS;
          }


          Tu as oublie int avant la fonction main...
          C'est SDL_Quit(); :)
          • Partager sur Facebook
          • Partager sur Twitter
            26 mai 2006 à 18:23:35

            Citation : guimers8

            Tu n'a rien dans le fichier d'erreurs ?

            Fais gaffe aux extensions : *.BMP != *.bmp

            Le fichier est-il bien dans le dossier du projet ?



            BMP != bmp ? pourtant chez moi les deux marchent . Faut prendre lequel ?
            • Partager sur Facebook
            • Partager sur Twitter

            Charger des *.bmp en SDL

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown