Procedura: modificare le dimensioni o la posizione di un'immagine in fase di esecuzione (Windows Form)

Se si desidera utilizzare il controllo PictureBox di Windows Form in un form, è possibile impostarne la proprietà SizeMode su:

  • Allineare l'angolo superiore sinistro dell'immagine con l'angolo superiore sinistro del controllo.

  • Centrare l'immagine all'interno del controllo.

  • Regolare le dimensioni del controllo in modo che possa contenere l'immagine da visualizzare.

  • Estendere l'eventuale immagine visualizzata dal controllo in modo che corrisponda alle dimensioni del controllo stesso.

L'estensione di un'immagine, soprattutto se in formato bitmap, può causare una perdita di qualità. Rispetto alle immagini bitmap, i metafile, che sono elenchi di istruzioni grafiche per la creazione di immagini in fase di esecuzione, risultano più adatti a essere estesi.

Per impostare la proprietà SizeMode in fase di esecuzione

  • Impostare SizeMode su Normal (impostazione predefinita), AutoSize, CenterImage o StretchImage. Se si imposta su Normal, l'immagine viene inserita nell'angolo superiore sinistro del controllo. Se l'immagine è più grande del controllo, i bordi inferiore e destro vengono tagliati. Se si imposta su CenterImage, l'immagine viene allineata al centro nel controllo. Se l'immagine è più grande del controllo, i bordi esterni dell'immagine vengono tagliati. Se si imposta su AutoSize, le dimensioni del controllo vengono adattate alle dimensioni dell'immagine. Se si imposta su StretchImage, avviene il contrario, ovvero le dimensioni dell'immagine vengono adattate alle dimensioni del controllo.

    Nell'esempio seguente il percorso impostato per la posizione dell'immagine coincide con la cartella Documenti. Questa scelta è dovuta al fatto che si suppone che questa directory sia presente sulla maggior parte dei computer con sistema operativo Windows. Consente inoltre agli utenti con livelli minimi di accesso al sistema di eseguire l'applicazione in modo sicuro. Nell'esempio riportato di seguito si presuppone che un controllo PictureBox sia già stato aggiunto al form.

    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.set_SizeMode(PictureBoxSizeMode.StretchImage);
       // Load the picture into the control.
       // You should replace "image.gif" in the sample below 
       // with an icon of your own choosing.
       pictureBox1.set_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"));
       }
    

Vedere anche

Attività

Procedura: caricare un'immagine utilizzando la finestra di progettazione (Windows Form)

Procedura: impostare le immagini in fase di esecuzione (Windows Form)

Riferimenti

PictureBox

Cenni preliminari sul controllo PictureBox (Windows Form)

Altre risorse

Controllo PictureBox (Windows Form)