Rubrik: Grafik und Font · Bilder & Icons | VB-Versionen: VB4, VB5, VB6 | 19.12.03 |
Bild in PictureBox einpassen (Stretch-Funktion) Trotz fehlender Stretch-Eigenschaft lässt sich ein Bild sehr einfach an die Größe der PictureBox anpassen. | ||
Autor: Dieter Otter | Bewertung: | Views: 63.518 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Vom Image-Control kennt man die Stretch-Eigenschaft, die es ermöglicht, dass sich das Bild der Controlgröße anpasst, d.h. das Bild wird entweder gestaucht oder gedehnt. Die PictureBox hingegen besitzt nur eine AutoSize-Eigenschaft, d.h. das Control passt sich der Bildgröße an - aber nicht umgekehrt. Wie man eine PictureBox dennoch mit einer Stretch-Funktion ausstattet, das zeigt Ihnen nachfolgender Tipp.
' Aktuelles Bild an die Größe der PictureBox anpassen With Picture1 .AutoRedraw = True .Cls .PaintPicture .Picture, 0, 0, .ScaleWidth, .ScaleHeight .AutoRedraw = False End With
Natürlich lässt sich das Bild auch sofort beim Laden aus einer Datei "stretchen":
Public Sub picShowPicture(oPictureBox As Object, _ ByVal sFile As String, _ Optional ByVal bStretch As Boolean = True) With oPictureBox If bStretch Then ' Bild an Größe der PictureBox anpassen .AutoRedraw = True Set .Picture = Nothing .PaintPicture LoadPicture(sFile), 0, 0, .ScaleWidth, .ScaleHeight .AutoRedraw = False Else ' PictureBox an Bildgröße anpassen Set .Picture = Nothing .Picture = LoadPicture(sFile) .AutoSize = True End If End With End Sub
Beispiel für den Aufruf:
' Bild an Größe der PictureBox anpassen picShowPicture Picture1, "c:\bild.jpg"
' PictureBox an Bildgröße anpassen picShowPicture Picture1, "c:\bild.jpg", False