Vb.net Größe eines Bitmaps/png ändern

Moin, ich bin’s mal wieder. Ich hab jetzt fast den ganzen Tag gesucht und finde keine Lösung.
Wie kann man die Bildgröße einer bestehenden png oder bmp Datei ändern?
Das Bild wird vorher aus einem Pannel in eine png Datei gespeichert und die wird später in eine pdf Datei eingebaut. Dazu muss ich vorher aber die Größe ändern. ABER WIE?
Viele Grüße bax

Hallo!
Ganz einfach: Bild (alt) einlesen, neues Bitmap in der gewünschten neuen Auflösung erzeugen, altes Bild flächendeckend auf das neue Bitmap malen, neues Bitmap speichern.

Gruß,
Martin

…altes Bild flächendeckend auf das neue Bitmap malen…

Aber wie?
Ich bin einfach zu blöde! Ich hab jetzt unter anderem folgenden versucht:

 Private Sub ButtonRun\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRun.Click
 If File.Exists("C:\TestBild.png") = True Then
 Dim oldBitmap As New Bitmap("C:\TestBild.png")
 Dim newBitmap As New Bitmap(100, 100)
 newBitmap = oldBitmap
 newBitmap.Save("C:\TestBild\_neu.png")
 End If
 End Sub

Dann kopiert er aber das Bild und verwirft die ursprünglich angegebene Größe. Was muss ich ändern?
Gruß bax

…altes Bild flächendeckend auf das neue Bitmap malen…

Aber wie?
Ich bin einfach zu blöde! Ich hab jetzt unter anderem
folgenden versucht:

Private Sub ButtonRun_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ButtonRun.Click
If File.Exists(„C:\TestBild.png“) = True Then
Dim oldBitmap As New Bitmap(„C:\TestBild.png“)
Dim newBitmap As New Bitmap(100, 100)
newBitmap = oldBitmap

Da kommt der Murks rein. Du weist der Objektreferenz „newBitmap“ einfach die Objektreferenz „oldBitmap“ zu, d.h. danach verweisen beide Variablen auf das selbe Objekt (das alte Bild).
Füg’ mal hier folgendes ein:

Dim g as Graphics
g = Graphics.FromImage(newBitmap)
g.DrawImage(oldBitmap, New Rectangle(0,0,newBitmap.Width,newBitmap.Height))
g.Dispose()

(Aus dem Kopf und nicht ausprobiert)

newBitmap.Save(„C:\TestBild_neu.png“)
End If
End Sub

Dann kopiert er aber das Bild und verwirft die ursprünglich
angegebene Größe. Was muss ich ändern?
Gruß bax

Gruß,
Martin

Na endlich. Vielen Dank!
Hier meine fertige Funktion.

 Private Sub ButtonRun\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRun.Click
 'Ruft die Funktion auf: ResizePicture(Dateiname, Skalierungs-/Zoomfaktor)
 ResizePicture("C:\TestBild.png", 2)
 End Sub

 Private Sub ResizePicture(ByVal strFileName As String, ByVal dZoomfaktor As Double)
 Try
 If File.Exists(strFileName) = True Then
 Dim oldBitmap As Image = Image.FromFile(strFileName)
 Dim newBitmap As New Bitmap(CInt(oldBitmap.Width \* dZoomfaktor), CInt(oldBitmap.Height \* dZoomfaktor))
 Dim g As Graphics
 g = Graphics.FromImage(newBitmap)
 g.DrawImage(oldBitmap, New Rectangle(0, 0, newBitmap.Width, newBitmap.Height))
 g.Dispose()

 newBitmap.Save(strFileName.Insert(strFileName.LastIndexOf(CType(".", Char)), "\_resized"))

 oldBitmap.Dispose()
 newBitmap.Dispose()
 g.Dispose()
 Else
 MsgBox("File """ & strFileName & """ not found!", MsgBoxStyle.Information)
 End If
 Catch ex As Exception
 MsgBox("Error" & Chr(13) & ex.Message)
 End Try
 End Sub