Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/06/2007, à 17:00

mjfcolas

Sdl Image

bonjour,

J'ai un problème avec ce code:

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

void pause();

int main()
{
    SDL_Surface *ecran = NULL, *image = NULL, *sapin = NULL;
    SDL_Rect position;
             position.x = 0;
             position.y = 0;
    SDL_Rect position2;
             position2.x = 500;
             position2.y = 260;

    SDL_Init(SDL_INIT_VIDEO);


    ecran = SDL_SetVideoMode(800, 600,32, SDL_HWSURFACE);
    SDL_WM_SetCaption("Images en SDL", NULL);
    SDL_WM_SetIcon(SDL_LoadBMP("images/sdl_icone.bmp"), NULL);

    image = SDL_LoadBMP("images/lac_en_montagne.bmp");

    sapin = IMG_Load("images/sapin.png");


    SDL_BlitSurface(image, NULL, ecran, &position);
    SDL_BlitSurface(sapin, NULL, ecran, &position2);

    SDL_Flip(ecran);

    pause();

    SDL_FreeSurface(image);
    SDL_Quit();

    return EXIT_SUCCESS;

}

void pause()
{
    int continuer = 1;
    SDL_Event event;

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

Il n'affiche pas l'imagge sapin.png, pourtant la compilation fonctionne et l'image de fond est bien affichée!

Hors ligne

#2 Le 20/06/2007, à 20:35

castorgris

Re : Sdl Image

salut.
le code marche chez moi.
Tu compil bien avec l'option  -lSDL_image ?

Et il manque un SDL_FreeSurface(sapin);


Windowsiens libérés : 10

/me a fait une rechute, finalement, 7 ça marche pas si mal.

Hors ligne

#3 Le 21/06/2007, à 07:14

mjfcolas

Re : Sdl Image

J'ai mis l'option SDL_image, le -l peut jouer?

Hors ligne

#4 Le 21/06/2007, à 09:47

toto4455

Re : Sdl Image

J'ai mis l'option SDL_image, le -l peut jouer?

non, si tu n'avais pas linker avec sdl_image , tu aurais une  référence indéfinie vers « IMG_Load »
a la compilation .

donc sans doute un probleme avec ton image "sapin.png"

sapin = IMG_Load("images/sapin.png");
if(!sapin) {
    printf("IMG_Load: %s\n", IMG_GetError());
    // handle error
}

#5 Le 21/06/2007, à 12:05

mjfcolas

Re : Sdl Image

Il me dit
unsuported image format, pourtant le png est censé ètre supporté?

Hors ligne

#6 Le 21/06/2007, à 13:43

toto4455

Re : Sdl Image

non le format png est supporté , sdl_image utilise la libpng pour le faire.
http://www.libpng.org/pub/png/spec/1.0/PNG-Contents.html

il y a surement un probleme avec ton image (ou c'est un png avec un format particulier) .
essaye avec une autre image png .

http://www.siteduzero.com/tuto-3-5432-1-afficher-des-images.html
si tu utilises le sapin.png fournis dans le pack images de cette page , l'exemple marche et charge & affiche bien sapin.png.

#7 Le 21/06/2007, à 16:26

mjfcolas

Re : Sdl Image

toto4455 a écrit :

non le format png est supporté , sdl_image utilise la libpng pour le faire.
http://www.libpng.org/pub/png/spec/1.0/PNG-Contents.html

il y a surement un probleme avec ton image (ou c'est un png avec un format particulier) .
essaye avec une autre image png .

http://www.siteduzero.com/tuto-3-5432-1-afficher-des-images.html
si tu utilises le sapin.png fournis dans le pack images de cette page , l'exemple marche et charge & affiche bien sapin.png.

C'est bien cette image! le lien que tu m'as donné, c'est celui que je suis! et même avec un autre png, ca ne fonctionne pas

Hors ligne

#8 Le 21/06/2007, à 20:08

toto4455

Re : Sdl Image

chez moi ca marche cet exemple !
tu as bien la libpng (et le dev)  sur ton systeme ?

#9 Le 22/06/2007, à 07:10

mjfcolas

Re : Sdl Image

je vérifie

EDIT: le paquet est cassé, une erreu survient quand je veux le réinstaller

Hors ligne