Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] redimensionnement de PictureBox

A quel moment

Sujet résolu
    24 janvier 2007 à 14:11:18

    Bonjour à tous,

    Actuellement pour charger une image dans ma PictureBox j'utilise

    BoiteImage.ImageLocation = Path.Combine(files[collec[0].Index].DirectoryName, files[collec[0].Index].Name);


    Comme Garuma me l'avait conseillé. Un problème s'est néamoins déclaré lorsque la taille de l'image était supérieure à la taille de la PictureBox, étant donné que je ne souhaite pas que tout ma fenetre s'élargisse. J'ai donc essayer d'utiliser le sizemode juste apres la ligne ci dessus, ce qui donne,
    BoiteImage.ImageLocation = Path.Combine(files[collec[0].Index].DirectoryName, files[collec[0].Index].Name);
                    if ((BoiteImage.Image.Height > BoiteImage.Height) || (BoiteImage.Image.Width > BoiteImage.Width))
                    {
                        BoiteImage.SizeMode = PictureBoxSizeMode.Zoom;
                    }
                    else
                    {
                        BoiteImage.SizeMode = PictureBoxSizeMode.Normal;
                    }


    Aucune erreur de compilation mas au moment de charger le programme plante et me désigne la ligne du if comme étant responsable... Je suppose que ce n'es pas le bon moment pour faire cette vérification... Pourriez vous me dire quel serait alors ce moment??

    Merci bien et à bientot

    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2007 à 14:18:00

      Salut,

      Quand tu dis que le programme plante, je suppose que tu veux dire qu'il y a une exception non-rattrapée ? Si c'est le cas, pourrais-tu nous donner le type de l'exception et le message d'erreur ?
      • Partager sur Facebook
      • Partager sur Twitter
        24 janvier 2007 à 14:21:01

        Alors c'est l'exception "NullReferenceException".

        Le message d'erreur est "La référence d'objet n'est pas définie à une instance d'un objet."

        Merci bien ;)
        • Partager sur Facebook
        • Partager sur Twitter
          24 janvier 2007 à 15:11:10

          Cela semble vouloir dire que tu affectes soit une valeur null, soit une chaîne vide, à la propriété ImageLocation.

          Dans le doute, vérifie la valeur renvoyée par Path.Combine.
          • Partager sur Facebook
          • Partager sur Twitter
            24 janvier 2007 à 15:14:09


            using System.Drawing; // en haut du fichier si c'est pas déjà là

              Image img = Image.FromFile(Path.Combine(files[collec[0].Index].DirectoryName, files[collec[0].Index].Name));
             
              if ((img.Height > BoiteImage.Height) || (img.Width > BoiteImage.Width))
              {
                  BoiteImage.SizeMode = PictureBoxSizeMode.StretchImage;
              }
              else
              {
                  BoiteImage.SizeMode = PictureBoxSizeMode.Normal;
              }

              BoiteImage.Image = img;


            Si ca balance toujours NullReferenceException c'est probablement que le path n'est pas bon. Un petit Console.WriteLine(path); est donc de rigeur.
            • Partager sur Facebook
            • Partager sur Twitter
              24 janvier 2007 à 15:53:20

              Ca marche avec la modification de Garuma, un grand merci à vous deux.
              J'espere ne pas avoir à trop demander de l'aide à l'avenir mais vu que je débute...

              A bientot
              • Partager sur Facebook
              • Partager sur Twitter

              [C#] redimensionnement de PictureBox

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown