Partager via


Guide pratique pour modifier la taille ou le placement d’une image au moment de l’exécution (Windows Forms)

Si vous utilisez le contrôle PictureBox Windows Forms sur un formulaire, vous pouvez définir la propriété SizeMode 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 s’adapter au 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éfinissez SizeMode sur Normal (valeur par défaut), AutoSize, CenterImageou StretchImage. 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 plus grande que le 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 disposant de niveaux d’accès système minimal d’exécuter l’application en toute sécurité. L’exemple ci-dessous suppose un formulaire avec un contrôle PictureBox 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