Pb IMG_load sous VC++ 2008
Bonjour,
Petit nouveau en C++, je cherche à charger des images à l'aide de la fonction suivante (inspirée d'un tutorial trouvé sur ce site) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| void Sprite::modImage(const char* image)
{
//Surface tampon qui nous servira pour charger l'image
SDL_Surface* loadedImage = NULL;
loadedImage = IMG_Load(image);
//Si le chargement se passe bien
if( loadedImage != NULL )
{
//Création de l'image optimisée
_image = SDL_DisplayFormat( loadedImage );
//Si l'image optimisée créée est bonne
if( _image != NULL )
{
Uint32 colorkey = SDL_MapRGB( _image->format, 0, 0, 0xff );
//On met tous les pixels de couleur R 0, G 0, B 0xFF transparent
SDL_SetColorKey( _image, SDL_RLEACCEL | SDL_SRCCOLORKEY, colorkey );
}
//Libération de l'ancienne image
SDL_FreeSurface( loadedImage );
}
} |
Ma seule modification importante est d'avoir remplacé le nom de fichier donné à IMG_load() par un "char*" plutôt qu'une "string" (mais dans la doc officielle l'argument est indiqué comme "char*").
Ce code fonctionne très bien sous Ubuntu, compilé avec Code::Blocks mais sous Windows et Visual C++ Express 9 le pointeur "loadedImage" reste vide malgré l'assignation avec IMG_load()...
Quelqu'un saurait-il d'où vient le problème?
Je précise évidemment que les images que je souhaite afficher se trouvent dans le même dossier que mon ".exe" et qu'elles ont le même nom que dans mon code...