Condividi tramite


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

Se si utilizza il controllo Windows Form PictureBox in una maschera, è possibile impostarla SizeMode su:

  • Allineare l'angolo superiore sinistro dell'immagine all'angolo superiore sinistro del controllo

  • Centrare l'immagine all'interno del controllo

  • Regolare le dimensioni del controllo per adattarla all'immagine visualizzata

  • Estendere qualsiasi immagine visualizzata per adattarsi al controllo

L'estensione di un'immagine (in particolare una in formato bitmap) può produrre una perdita di qualità dell'immagine. I metafile, che sono elenchi di istruzioni grafiche per il disegno di immagini in fase di esecuzione, sono più adatti per l'estensione rispetto alle bitmap.

Per impostare la proprietà SizeMode in fase di esecuzione

  1. Impostare su NormalSizeMode (impostazione predefinita), AutoSize, CenterImageo StretchImage. Normal significa che l'immagine viene posizionata nell'angolo superiore sinistro del controllo; se l'immagine è più grande del controllo, i bordi inferiori e destro vengono ritagliati. CenterImage significa che l'immagine è centrata all'interno del controllo; se l'immagine è più grande del controllo, i bordi esterni dell'immagine vengono ritagliati. AutoSize indica che le dimensioni del controllo vengono modificate in base alle dimensioni dell'immagine. StretchImage è il contrario e indica che le dimensioni dell'immagine vengono modificate in base alle dimensioni del controllo.

    Nell'esempio seguente il percorso impostato per il percorso dell'immagine è la cartella Documenti personali. Questa operazione viene eseguita, perché è possibile presupporre che la maggior parte dei computer che eseguono il sistema operativo Windows includerà questa directory. Ciò consente inoltre agli utenti del sistema con livelli di accesso minimo di eseguire l'applicazione senza problemi. Nell'esempio seguente si presuppone che un modulo con un PictureBox controllo già aggiunto.

    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"));  
       }  
    

Vedi anche