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 :

Afficher une image dans ma fenêtre


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Afficher une image dans ma fenêtre
    Bonjour,

    Je tente désespérément d'insérer une image dans mon programme. Mon problème, c'est qu'elle ne s'affiche pas au lancement du projet.
    Je suis sous Visual Studio, et je tente d'afficher cette image dynamiquement, (donc sans XML mais uniquement en C#)

    J'ai essayé avec ce code :
    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
     
     StackPanel myPanel = new StackPanel();
            public MainWindow()
            {
                InitializeComponent();
     
                Image myImage3 = new Image();
                BitmapImage bi3 = new BitmapImage();
                 bi3.BeginInit();
                bi3.UriSource = new Uri("./bin/Play.jpg", UriKind.Relative);
                bi3.EndInit();
     
     
                myPanel.Children.Add(myImage3);
    }
    Et rien ne s'affiche. Pouvez-vous m'aider ?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Bonjour,

    Il semblerait que vous n'instanciez pas la source de MyImage3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Create the image element.
    Image simpleImage = new Image();    
    simpleImage.Width = 200;
    simpleImage.Margin = new Thickness(5);
    
    // Create source.
    BitmapImage bi = new BitmapImage();
    // BitmapImage.UriSource must be in a BeginInit/EndInit block.
    bi.BeginInit();
    bi.UriSource = new Uri(@"/sampleImages/cherries_larger.jpg",UriKind.RelativeOrAbsolute);
    bi.EndInit();
    // Set the image source.
    simpleImage.Source = bi;
    Vous trouverez cet exemple dans ce lien
    https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

    Je pense donc qu'il vous faut rajouter

    A+

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Merci ;
    J'avais bien cette ligne dans mon code, mais je l'ai effacé par mégarde en le copiant ici ; Et donc ça ne marche toujours pas, ma fenêtre reste vide. Auriez-vous d'autres idées ?

  4. #4
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    salut
    1-poste ton code complet, sans rien oublie et message etrange, si il y a .
    2-comme dit ci-haut, ta un exemple dans la doc.

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Salut ! Voici mon code complet :

    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.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
     
     
    namespace WpfApplication8
    {
     
        public partial class MainWindow : Window
        {
            StackPanel myPanel = new StackPanel();
            public MainWindow()
            {
                InitializeComponent();
     
                Image myImage3 = new Image();
                BitmapImage bi3 = new BitmapImage();
                 bi3.BeginInit();
                bi3.UriSource = new Uri("./bin/Play.jpg", UriKind.Relative);
                bi3.EndInit();
                myImage3.Stretch = Stretch.Fill;
                myImage3.Source = bi3;
     
                myPanel.Children.Add(myImage3);
     
            }
     
        }
    }
    Et Aucun message d'erreur ne s'affiche.

    Je tiens à préciser que je suis sous Visual Studio, et en wpf. Je n'ai pas besoin d'ajouter quelque chose sur la page XAML ?

  6. #6
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                Image myImage3 = new Image();
                myImage3.Width = 200;
                myImage3.Height = 200;
                BitmapImage bi3 = new BitmapImage();
                bi3.BeginInit();
                bi3.UriSource = new Uri(@"./bin/Play.jpg" , UriKind.RelativeOrAbsolute);
                bi3.DecodePixelWidth = 200;
                bi3.EndInit();
                myImage3.Stretch = Stretch.Fill;
                myImage3.Source = bi3;
                myPanel.Children.Add(myImage3);
    ce code marche pour moi.

    très important:
    pour les chemins relative, les barres c dans l'autre sens.

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Pas chez moi Je me demande qu'est-ce qui ne va pas

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Peut-être qu'il faudrait placer ton StackPanel dans ton XAML de l'ihm plutôt que de le créer dynamiquement...

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé, et rien n'y fait.

    Même avec les barres dans l'autre sens, ça ne marche pas, la fenêtre qui apparaît reste blanche

  10. #10
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    hehehe
    j'ai loupe le stack
    en effet , soit le mettre en direct soit le rajouter avec du code (Children.Add .............etc ).
    d'ailleurs ton stack tu le rajoute pas a ta fenetre

  11. #11
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Je ne vois pas comment faire autrement que ce que j'ai déjà fait

  12. #12
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Content = myPanel ;
    a rajouter a la fin du constructeur .

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Tu as essayé de placer ton stackPanel dans ton xaml comme te l'ont conseillé ebastion et linke

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <StackPanel Name="myPanel" ...... />
    Ensuite tu enlèves
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StackPanel myPanel = new StackPanel();
    Le résultat est le même ?

    A+

  14. #14
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    yep, j'ai toujours le même résultat

  15. #15
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    R.A.Z

    1-créer un nouveau projet wpf
    2-place ton image Play.jpg dans le dossier bin
    3-colle ce code dans la class

    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
        public partial class MainWindow : Window
        {
     
            StackPanel myPanel2 = new StackPanel();
            public MainWindow()
            {
                InitializeComponent();
     
                Image myImage3 = new Image();
                BitmapImage bi3 = new BitmapImage();
                bi3.BeginInit();
                bi3.UriSource = new Uri(@".\bin\Play.jpg", UriKind.Relative);
                bi3.EndInit();
                myImage3.Stretch = Stretch.Fill;
                myImage3.Source = bi3;
                myPanel2.Children.Add(myImage3);
                this.Content = myPanel2;
     
            }
        }

    si ca marche toujours pas, met une video sur youtube

  16. #16
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Et si ça ne fonctionne pas ?

    C'est désespérant...

    Dans XAML, tu as quoi ?

  17. #17
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    putain, je viens de comprendre pourquoi............
    j'avais déjà eu un problème comme ça, en plus.......
    bref, le problème vient de fait que pour gérer des ressource il faut les inclure dans ton projet.
    rien de plus simple:

    1-tu crée un dossier dans ton projet (a travers visual studio)
    2-toujours dans visual studio , click droit => ajouter element existant => tu va chercher tes images
    3-maintenant ton prog connais l'emplacement des fichiers.

Discussions similaires

  1. [pushbutton] Afficher une image dans une nouvelle fenêtre
    Par tomCB1 dans le forum Interfaces Graphiques
    Réponses: 10
    Dernier message: 10/07/2013, 16h35
  2. Réponses: 4
    Dernier message: 09/05/2010, 19h01
  3. Afficher une image dans un état
    Par Invité1 dans le forum IHM
    Réponses: 8
    Dernier message: 23/09/2009, 14h59
  4. [PB 10.5] Afficher une image dans une fenêtre
    Par cagoule dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 27/02/2007, 22h22
  5. afficher une image dans une fenêtre windows
    Par yashiro dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 02/05/2006, 16h30

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