Gewusst wie: Ändern der Größe oder Platzierung eines Bildes zur Laufzeit (Windows Forms)
Wenn Sie das Windows Forms-Steuerelement PictureBox in einem Formular verwenden, können Sie für dieses die Eigenschaft SizeMode festlegen, um Folgendes zu bewirken:
Ausrichten der oberen linken Bildecke an der oberen linken Ecke des Steuerelements
Zentrieren des Bilds innerhalb des Steuerelements
Anpassen der Größe des Steuerelements an das vom ihm angezeigte Bild
Strecken eines angezeigten Bilds, um es an das Steuerelement anzupassen
Beim Strecken eines Bilds (insbesondere eines Bilds im Bitmapformat) kann sich die Bildqualität verschlechtern. Metadateien, bei denen es sich um Listen von Grafikanweisungen zum Zeichnen von Bildern zur Laufzeit handelt, eignen sich besser zum Strecken als Bitmaps.
So legen Sie die SizeMode-Eigenschaft zur Laufzeit fest
Legen Sie SizeMode auf Normal (die Standardeinstellung), AutoSize, CenterImage oder StretchImage fest. Normal bedeutet, dass das Bild in der oberen linken Ecke des Steuerelements platziert wird. Wenn das Bild größer ist als das Steuerelement, wird der untere und rechte Rand abgeschnitten. CenterImage bedeutet, dass das Bild innerhalb des Steuerelements zentriert wird. Wenn das Bild größer ist als das Steuerelement, werden die äußeren Ränder des Bilds abgeschnitten. AutoSize bedeutet, dass die Größe des Steuerelements an die Größe des Bilds angepasst wird. StretchImage bedeutet das Gegenteil und bewirkt, dass die Bildgröße an die Größe des Steuerelements angepasst wird.
Im folgenden Beispiel ist der Pfad für den Speicherort des Bilds auf den Ordner „Eigene Dateien“ festgelegt. Dies geschieht, weil Sie davon ausgehen können, dass die meisten Computer, auf denen das Betriebssystem Windows ausgeführt wird, über dieses Verzeichnis verfügen. Dadurch können auch Benutzer mit minimalen Systemzugriffsebenen die Anwendung sicher ausführen. Im folgenden Beispiel wird ein Formular vorausgesetzt, dem bereits ein PictureBox-Steuerelement hinzugefügt wurde.
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")); }
Weitere Informationen
.NET Desktop feedback