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 :

GDI+, changer la source d'une Bitmap


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Février 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 106
    Billets dans le blog
    1
    Par défaut GDI+, changer la source d'une Bitmap
    Bonsoir,

    je dessine sur ma Form une image en GDI+, et j'ai un bouton que lorsque je clique dessus j'aimerai que l'image qui se dessine sur la Form, change à une autre image, disons que je change le chemin de l'image affiché

    on va dire que voici le code (en quelque sorte )

    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
     
    namespace App
    {
        public partial class MainForm : Form
        {
            public Bitmap bmp;
            public String path = @"c:\1.jpg";
     
            public MainForm()
            {
                InitializeComponent();
                bmp = new Bitmap(path);
            }
     
            private void MainForm_Paint(object sender, PaintEventArgs e)
            {
                e.Graphics.Clear(Color.White);
                e.Graphics.DrawImage(bmp, new Rectangle(new Point(100,100), new Size(150,150)));
                e.Dispose();
            }
     
            public void ChangeImg()
            {
                 // ça marche comme ça
                 bmp = new Bitmap(@"c:\2.jpg");
     
                 // ça ne marche pas comme ça
                 // path = @"c:\2.jpg";
            }
        }
    Quand je clic sur le bouton qui fait appel au méthode "ChangeImg()" et comme vous l'avez constaté, je dois créer une nouvelle instance de cette Bitmap pour redéfinir le chemin de l'image, se qui crée un nouveau objet.
    et je me demande biens se qui arrive à l'ancien objet.
    si non il n y à pas un autre moyen si je change seulement la String Path du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void ChangeImg()
    {
        path = @"c:\2.jpg";
    }
    parce que quand je parcoure l'objet bmp, je ne trouve pas se qui permet de changer la source à part Width, Height et autre trucs.

    si ma 1ere solution été correcte ça me gène pas, mais ça me parait louche

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ta solution est correcte. On ne peut pas changer "le fichier source" d'un Bitmap, d'ailleurs il n'y en a pas forcément (le Bitmap peut avoir été créé à partir d'un Stream, ou même créé directement avec new Bitmap(width, height)).

    je me demande biens se qui arrive à l'ancien objet.
    S'il n'y a plus de référence qui pointe dessus, il sera collecté à un moment donné par le garbage collector, ce qui va libérer la mémoire utilisée ainsi que le handle GDI (HBITMAP)

  3. #3
    Membre confirmé

    Inscrit en
    Février 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 106
    Billets dans le blog
    1
    Par défaut
    Merci beaucoup pour la réponse.

    ça marche

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

Discussions similaires

  1. Changer la source d'une image dans un panel
    Par Thomus38 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/12/2007, 21h31
  2. changer la source d'une image avec Firefox
    Par couetbis dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 07/11/2007, 22h45
  3. Changer la source de données d'une Connexion
    Par Harry dans le forum WinDev
    Réponses: 1
    Dernier message: 09/08/2007, 15h54
  4. Changer la source d'une image
    Par maitrebn dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 20/07/2007, 10h20
  5. [GDI] Problème de sauvegarde d'une bitmap
    Par Jedy dans le forum MFC
    Réponses: 1
    Dernier message: 15/02/2006, 15h23

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