Problème étrange avec SDL_image
SDL_Man
-
jojo150393 Messages postés 365 Statut Membre -
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 :
Quelqu'un a déjà-t-il eu ce problème ?
Merci.
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.