Partager via


Comment : modifier la taille ou l'emplacement d'une image au moment de l'exécution (Windows Forms)

Si vous utilisez le contrôle Windows Forms PictureBox sur un formulaire, vous pouvez définir la SizeMode propriété sur celle-ci :

  • Aligner le coin supérieur gauche de l’image avec le coin supérieur gauche du contrôle

  • Centrer l’image dans le contrôle

  • Ajuster la taille du contrôle pour qu’il corresponde à l’image affichée

  • Étirer n’importe quelle image qu’elle affiche pour ajuster le contrôle

L’étirement d’une image (en particulier un format bitmap) peut entraîner une perte de qualité d’image. Les métafichiers, qui sont des listes d’instructions graphiques pour dessiner des images au moment de l’exécution, sont mieux adaptés à l’étirement que les bitmaps.

Pour définir la propriété SizeMode au moment de l’exécution

  1. Défini SizeMode sur Normal (valeur par défaut), AutoSizeou CenterImageStretchImage. Normal signifie que l’image est placée dans le coin supérieur gauche du contrôle ; si l’image est plus grande que le contrôle, ses bords inférieur et droit sont clippés. CenterImage signifie que l’image est centrée dans le contrôle ; si l’image est supérieure au contrôle, les bords extérieurs de l’image sont coupés. AutoSize signifie que la taille du contrôle est ajustée à la taille de l’image. StretchImage est l’inverse et signifie que la taille de l’image est ajustée à la taille du contrôle.

    Dans l’exemple ci-dessous, le chemin d’accès défini pour l’emplacement de l’image est le dossier Mes documents. Cette opération est effectuée, car vous pouvez supposer que la plupart des ordinateurs exécutant le système d’exploitation Windows incluront ce répertoire. Cela permet également aux utilisateurs avec des niveaux d’accès minimum au système d’exécuter l’application en toute sécurité. L’exemple ci-dessous suppose un formulaire avec un PictureBox contrôle déjà ajouté.

    Private Sub StretchPic()  
       ' Stretch the picture to fit the control.  
       PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage  
       ' Load the picture into the control.  
       ' You should replace the bold image
       ' in the sample below with an icon of your own choosing.  
       PictureBox1.Image = Image.FromFile _  
       (System.Environment.GetFolderPath _  
       (System.Environment.SpecialFolder.Personal) _  
       & "\Image.gif")  
    End Sub  
    
    private void StretchPic(){  
       // Stretch the picture to fit the control.  
       PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;  
       // Load the picture into the control.  
       // You should replace the bold image
       // in the sample below with an icon of your own choosing.  
       // Note the escape character used (@) when specifying the path.  
       PictureBox1.Image = Image.FromFile _  
       (System.Environment.GetFolderPath _  
       (System.Environment.SpecialFolder.Personal) _  
       + @"\Image.gif")  
    }  
    
    private:  
       void StretchPic()  
       {  
          // Stretch the picture to fit the control.  
          pictureBox1->SizeMode = PictureBoxSizeMode::StretchImage;  
          // Load the picture into the control.  
          // You should replace the bold image
          // in the sample below with an icon of your own choosing.  
          pictureBox1->Image = Image::FromFile(String::Concat(  
             System::Environment::GetFolderPath(  
             System::Environment::SpecialFolder::Personal),  
             "\\Image.gif"));  
       }  
    

Voir aussi