IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Allegro Discussion :

Charger une image [Allegro 5]


Sujet :

Allegro

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut Charger une image
    Bonjour,
    Je débute dans Allegro et mon casse-tête du jour est de lui faire manger une image ( en tant que crocodile ça ne devrait pas poser de problème )

    D'après ce que j'ai compris, il faut inclure l'addon image puis l'initialiser avant d'ouvrir une quelconque image à l'aide de al_load_bitmap .

    Cependant il arrive toujours à me pondre une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    #include<iostream>
    #include <allegro5/allegro.h>
    #include <allegro5\allegro_image.h>
    using namespace std; 
     
     
    const float FPS = 60;
    const int SCREEN_W = 640;
    const int SCREEN_H = 480;
    const int BOUNCER_SIZE = 32;
     
    int main(int argc, char **argv){
        ALLEGRO_DISPLAY *display = NULL;
        ALLEGRO_EVENT_QUEUE *event_queue = NULL;
        ALLEGRO_TIMER *timer = NULL;
        ALLEGRO_BITMAP *bmp = NULL;
     
        bool redraw = true;
     
    	// Init Allegro
        if(!al_init()) {
           cout << "failed to initialize allegro!" << endl;
           return -1;
        }
     
    	// Init Timer
        timer = al_create_timer(1.0 / FPS);
        if(!timer) {
           cout << "failed to create timer!" << endl;
           return -1;
        }
     
    	// Init Display
        display = al_create_display(SCREEN_W, SCREEN_H);
        if(!display) {
           cout << "failed to create display!" << endl;
           al_destroy_timer(timer);
           return -1;
        }
     
    	// Init Bitmap
     
     
    	 al_init_image_addon();
    	 /*
    	 if(!init_image){
    		cout << "Pas d'adddon image!" << endl;
    		al_destroy_bitmap(bmp);
    		return -1;
    	 }
     
    	/*
     
    	bmp = al_load_bitmap("bloc.bmp");
        if(!bmp){
    		cout << "Pas d'image!" << endl;
    		al_destroy_bitmap(bmp);
    		return -1;
    	}
    	*/
    	al_rest(2.0);
    	al_clear_to_color(al_map_rgb(255,255,255));
    	al_flip_display();
    	al_rest(2.0);
     
        return 0;
    }
    Je le redis : je suis sous Alegro 5, j'ai trouvé la solution pour les versions antérieures mais pas pour la petite dernière.

    Voilà ce que VS me pond :

    Debuts.obj : error LNK2019: symbole externe non résolu __imp__al_init_image_addon référencé dans la fonction _main
    1>C:\Users\Ant\Documents\Visual Studio 2010\Projects\Allegro - Debuts\Debug\Allegro - Debuts.exe : fatal error LNK1120: 1 externes non résolus
    Merci d'avance

  2. #2
    Membre averti Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Salut, t'es sûr que ça fonctionne le '\' à la place du '/' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <allegro5\allegro_image.h>
    Sinon, as tu bien lié allegro ET allegro_image dans ton projet ?

    Il ne me semble pas qu'il y ai d'erreurs dans le reste de ton code.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 54
    Points
    54
    Par défaut
    Tiens j'avais pas remarqué l'histoire du \ et du /.
    La première ligne c'est moi qui l'aie écrite et la seconde c'est VStudio
    qui l'a générée. Les 2 marchent .

    RESOLU
    Comme je le pensais, c'était bien une histoire de link ( assez évident vu l'erreur qu'il me sort )

    Je faisais marcher Allegro avec "allegro-5.0.0-RC4-md.lib" de lié et ça marchait bien ... sauf l'addon image qui ne devait pas être lié.

    En trifouillant j'ai changé "allegro-5.0.0-RC4-md.lib" par un autre :"allegro-5.0.0-RC4-monolith-md.lib"
    Et ça marche.

  4. #4
    Membre averti Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Ah oui tiens, le monolith fonctionne quelque soit les addons.

  5. #5
    Membre du Club

    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 38
    Points : 69
    Points
    69
    Par défaut
    sous allegro 5, avec le meme listing que si dessus et en utilisant

    bmp = al_load_bitmap("bloc.bmp");
    if(!bmp){cout << "Pas d'image!" << endl;
    al_destroy_bitmap(bmp);
    return -1;
    etc...
    il affiche "pas d image" et refuse de telecharger l image , meme avec le chemin complet du fichier image

  6. #6
    Membre du Club

    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 38
    Points : 69
    Points
    69
    Par défaut
    c est bon ça marche, y fallait juste une version plus recente de mingw...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. charger une image avec Jframe
    Par Battosaiii dans le forum Agents de placement/Fenêtres
    Réponses: 10
    Dernier message: 15/12/2005, 15h35
  2. Charger une image dans un thread
    Par KRis dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2005, 17h36
  3. Charger une image
    Par Andy_24DB dans le forum Java ME
    Réponses: 1
    Dernier message: 30/06/2005, 22h56
  4. [Image]comment pre-charger une image
    Par al85 dans le forum 2D
    Réponses: 5
    Dernier message: 28/02/2005, 20h22
  5. Réponses: 13
    Dernier message: 19/11/2004, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo