Hallo Andre!
Ich habe jetzt gerade in der MSDN nachgeblättert. So sollte es auch gehen, dann könnte man sich tatsächlich das doppelte Laden sparen.
Public bmBild As Bitmap
Public Sub BildLaden(stBildpfad As String)
Dim fiBild As New FileInfo(stBildpfad)
If fiBild.Exists = True Then
bmBild = New Bitmap(stBildpfad)
End If
End Sub
Public Sub BildZoom(inZoom as Integer)
Dim inWidth As Integer
Dim inHeigth As Integer
inWidth = bmBild.Width
inHeigth = bmBild.Height
pbBild.Height = CInt(inHeigth \* (inZoom / 100))
pbBild.Width = CInt(inWidth \* (inZoom / 100))
pbBild.Image = CType(bmBild, Image)
End Sub
Das heißt also, dass das Laden des Bildes nur einmal durchgeführt wird. Und dann wird bei jeden Mal zoomen nur auf die gefüllte Variable zugegriffen.
Der Code oben ist ungetestet, sollte aber zumindest sinngemäß so funktionieren.
mfg
christoph