Problème étrange avec SDL_image

SDL_Man -  
jojo150393 Messages postés 365 Statut Membre -
Bonjour,

J'ai au problème étrange avec la fonction IMG_Load. Je peux ouvrir un *.bmp sans problème avec, mais pas des *.png, alors que c'est pour ça que je l'ai installée !
Le programme se lance normalement, mais l'image n'apparaît pas. J'ai essayé avec plusieurs images, et toujours le même problème.
J'ai installé les dernières versions de la SDL et de SDL_Image depuis le site officiel.

Voici mon code :


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

#define L_FENETRE 800  
#define H_FENETRE 600  

void initPos(SDL_Rect *pos, const unsigned int x, const unsigned int y);  
void pause();  

int main(int argc, char *argv[])  
{  
    SDL_Surface *ecran = NULL, *image = NULL, *bonhomme = NULL;  
    SDL_Rect posImage, posBonhomme;  

    if (SDL_Init(SDL_INIT_VIDEO) != 0) 
    { 
        fprintf(stderr, "ERREUR ! %s", SDL_GetError()); 
        exit(EXIT_FAILURE);
    }

    SDL_WM_SetCaption("Programme en SDL", NULL);  
    SDL_WM_SetIcon(SDL_LoadBMP("icone.bmp"), NULL);  

    initPos(&posImage, 0, 0);  
    initPos(&posBonhomme, 250, 260);  

    ecran = SDL_SetVideoMode(L_FENETRE, H_FENETRE, QUALITE, SDL_HWSURFACE);  

    image = IMG_Load("image_de_fond.bmp");  
    SDL_BlitSurface(image, NULL, ecran, &posImage);  

    bonhomme = IMG_Load("bonhomme.png");  
    SDL_BlitSurface(bonhomme, NULL, ecran, &posBonhomme);  

    SDL_Flip(ecran);  
    pause();  

    SDL_FreeSurface(image);  
    SDL_FreeSurface(bonhomme);  
    SDL_Quit();  

    return EXIT_SUCCESS;  
}  

void initPos(SDL_Rect *pos, const unsigned int x, const unsigned int y)  
{  
    pos->x = x;  
    pos->y = y;  
}  



Quelqu'un a déjà-t-il eu ce problème ?

Merci.

1 réponse

jojo150393 Messages postés 365 Statut Membre 23
 
c'est fort possible que tu ne l'a pas bien installé. Pense bien aussi a mettre le fichier SDL_image.dll dans ton dossier ou ya ton programme.
0