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

C# Discussion :

Problème affichage d'image


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut Problème affichage d'image
    Bonjour,
    Dans le cadre d'un proje scolaire, je suis en train de réaliser un jeu de FreeCell en C#. Les cartes sont enregistrées dans des fichiers .png. La fenetre principale contient deux boutons. Quand on clique sur le bouton de gauche, c'est censé lancer une nouvelle partie, ce qui passe par l'affichage des cartes. J'ai fait un premier cas d'essai où je demande juste l'affichage d'une carte, et cela ne marche pas. Je ne comprends pas pourquoi. Pourriez vous m'aider ?
    Merci d'avance

    Ci-joint le code de la fenetre principale :

    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
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Design;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
     
    namespace FreeCell
    {
        public partial class Form1 : Form
        {
            // ajouté a la main
            private Plateau plateau;
     
            public Form1()
            {
                InitializeComponent();
                plateau = new Plateau();
            }
     
            private void exit_Click(object sender, EventArgs e)
            {
                System.Environment.Exit(0);
            }
     
            private void newGame_Click(object sender, EventArgs e)
            {
                plateau.init();
                Invalidate(true);
            }
     
            protected void Form1_Paint(object sender, PaintEventArgs e)
            {
                e.Graphics.DrawImage(new Bitmap("1.png"), new Point(13, 30));
            }
        }
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    je pense que ca ne marche pas car on ne rentre peut-etre pas dans le OnPaint()
    il faudrait plutot avoir override devant le OnPaint()

    The Monz, Toulouse

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut
    Il n'y pas de méthode Form1_Paint dans les classes mères. Cela dit l'idée n'est pas mauvaise. Je ne vois pas cmt vérifier que le programme rentre ds la méthode

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    en mettant une trace

    System.Diagnostic.Trace.WriteLine("je passe ici");

    Sinon, ou as tu trouvé les images pour les cartes? (je suis preneur)

    The Monz, Toulouse

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut
    pour les images des cartes, on me les a donné. je ne sait pas d'où elles viennent. la trace ne donne rien, mais c'est peut être parce que je ne sais pas où elle doit s'afficher.

    EDIT : si je mets une trace dans newGame_Click, j'ai une sortie. La méthode paint ne semble pas etre appelee

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    elle doit s'afficher dans le debugger

    sinon, dans ton OnPaint(), tu fais
    messageBox.Show("coucou");

    Je pense que si tu n'as rien d'affiché c'est parce qu'il ne trouve pas ton image

    Essaye dans le Form1_PAint() un truc du genre :

    Graphics g = e.Graphics;
    g.DrawImage(new Bitmap(@"c:\uneImageValide.png"), new Point(0,0));

    Tu remplaces UneImageValide.png par une fichier qui va bien et ca devrait
    marcher

    Si ton image est dans les ressources de ton projet, fais une recherche sur le forum, il a déja été moult fois expliqué comment afficher une image provenant des resources du projet

    Voila

    Je suis preneur pour tes images de cartes...
    si tu peux me les envoyer

    Contactes moi en mail privé (MP) et je te filerais mon @ pour recevoir
    le "précieux" fichier

    The Monz, Toulouse

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

Discussions similaires

  1. Problème affichage d'image dans PictureBox
    Par anubis55 dans le forum C#
    Réponses: 3
    Dernier message: 24/12/2010, 01h05
  2. Problème affichage d'images
    Par Fax37 dans le forum Applets
    Réponses: 5
    Dernier message: 11/10/2010, 11h50
  3. Problème affichage d'image
    Par stouf() dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 18/09/2009, 15h19
  4. [W3C] problème affichage d'image dans iframe
    Par pas30 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 04/09/2007, 23h30
  5. problème affichage 2 images
    Par BernardT dans le forum Flash
    Réponses: 1
    Dernier message: 26/01/2007, 08h16

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