Sdílet prostřednictvím


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

Pokud ve formuláři používáte ovládací prvek Windows Forms PictureBox, můžete vlastnost SizeMode nastavit na:

  • Zarovnejte levý horní roh obrázku s levým horním rohem ovládacího prvku

  • Vycentrujte obrázek v ovládacím prvku

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

  • Natáhněte jakýkoli obrázek, který se zobrazí, aby se přizpůsobil ovládacímu 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.

Pro nastavení vlastnosti SizeMode za běhu

  1. Nastavte 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 prvku PictureBox.

    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é