Sdílet prostřednictvím


Postupy: Změna velikosti či umístění obrázku za běhu (Windows Forms)

Pokud ve formuláři použijete ovládací prvek model Windows FormsPictureBox, můžete SizeMode vlastnost nastavit na:

  • Zarovnání levého horního rohu obrázku s levým horním rohem ovládacího prvku

  • Na střed obrázku v ovládacím prvku

  • Upravte velikost ovládacího prvku tak, aby odpovídal obrázku, který se zobrazí.

  • Roztažení libovolného obrázku, který se zobrazí pro přizpůsobení ovládacího prvku

Roztažení obrázku (zejména v rastrovém formátu) může způsobit ztrátu v kvalitě obrázku. Metasoubory, které jsou seznamy grafických instrukcí pro kreslení obrázků za běhu, jsou vhodnější pro roztažení než rastrové obrázky.

Nastavení vlastnosti SizeMode za běhu

  1. Nastavit SizeMode na Normal (výchozí), AutoSize, CenterImagenebo StretchImage. Normal znamená, že obrázek je umístěn v levém horním rohu ovládacího prvku; pokud je obrázek větší než ovládací prvek, oříznou se jeho dolní a pravé okraje. CenterImage znamená, že obrázek je uprostřed ovládacího prvku; pokud je obrázek větší než ovládací prvek, oříznou se vnější okraje obrázku. AutoSize znamená, že velikost ovládacího prvku se upraví na velikost obrázku. StretchImage je obrácený a znamená, že velikost obrázku se upraví na velikost ovládacího prvku.

    V následujícím příkladu je cesta nastavená pro umístění obrázku složka Dokumenty. To se provádí, protože můžete předpokládat, že většina počítačů s operačním systémem Windows bude obsahovat tento adresář. To také umožňuje uživatelům s minimálními úrovněmi přístupu k systému bezpečně spouštět aplikaci. Následující příklad předpokládá formulář s již přidaným ovládacím PictureBox prvku.

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

Viz také