Partage
  • Partager sur Facebook
  • Partager sur Twitter

C/SDL2 : Problème utilisation SDL_image

    20 mai 2019 à 11:28:32

    Bonjour, je n'arrive pas à charger d'image dans ma fenêtre SDL, j'ai d'abord essayé avec des fichiers .bmp, puis j'ai dl la lib SDL_image pour voir si le

    problème venait du format de l'image en question, mais toujours pas. J'ai scrupuleusement vérifié le noms des fichiers, qui sont bien tous dans le même dossier, mais je ne vois pas où est le problème. :/

    Je m'en remet à votre bon jugement :

    #include <SDL2/SDL.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <SDL2/SDL_image.h>
    
    int quit(SDL_Renderer *renderer, SDL_Window * window){
    
        int statut = EXIT_SUCCESS;
        IMG_Quit();
        if(NULL != renderer)
            SDL_DestroyRenderer(renderer);
        if(NULL != window)
            SDL_DestroyWindow(window);
        SDL_Quit();
        return statut;
    }
    
    
    int main(int argc, char *argv[])
    {
        SDL_Window *window = NULL;
        SDL_Renderer *renderer = NULL;
        int statut = EXIT_FAILURE;
        SDL_Color orange = {255, 127, 40, 255};
        SDL_Color inter = {15, 84, 26, 255};
    
    //init
        if(0 != SDL_Init(SDL_INIT_VIDEO))
        {
            fprintf(stderr, "Erreur SDL_Init : %s", SDL_GetError());
            quit(renderer, window);
        }
        window = SDL_CreateWindow("SDL2", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
        1000, 920, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);
        if(NULL == window)
        {
            fprintf(stderr, "Erreur SDL_CreateWindow : %s", SDL_GetError());
            quit(renderer, window);
        }
        renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
        if(NULL == renderer)
        {
            fprintf(stderr, "Erreur SDL_CreateRenderer : %s", SDL_GetError());
            quit(renderer, window);
        }
        IMG_Init(IMG_INIT_PNG);
    //----------------------------
    
        SDL_SetRenderDrawColor(renderer, inter.r, inter.g, inter.b, inter.a);
        //SDL_RenderFillRect(renderer, &test);
        SDL_RenderClear(renderer);
    
        //Loading pictures
        SDL_Surface *tmp=NULL;
        SDL_Texture * logo=NULL;
        
        tmp = IMG_Load("title.png");
        if(tmp=NULL){
            fprintf(stderr, "picture loading error: %s", SDL_GetError());
            quit(renderer, window);
        }
    
        logo=SDL_CreateTextureFromSurface(renderer, tmp);
        SDL_FreeSurface(tmp);
        
        if(logo=NULL){
            fprintf(stderr, "picture loading error: %s", SDL_GetError());
            quit(renderer, window);
        }
    
        SDL_Rect poslogo={10,10,621,153};
        SDL_RenderCopy(renderer, logo, NULL, &poslogo);
    
        SDL_RenderPresent(renderer);
        
        statut = EXIT_SUCCESS;
        
        while(1){       
            SDL_Event event;
            SDL_WaitEvent(&event);
            if (event.type == SDL_QUIT){
                quit(renderer, window);
            }   
        }
        return statut;
    }
    



    • Partager sur Facebook
    • Partager sur Twitter

    C/SDL2 : Problème utilisation SDL_image

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown