Código:
private sub imagen()
Dim foto As String = ""
OpenFileDialog1.InitialDirectory = main.ruta & "Imagenes"
OpenFileDialog1.Filter = "Imágenes JPG(*.jpg)|*.jpg|Imágenes PNG(*.png)|*.png" 'Todos los formatos (*.*)|*.*"
If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
foto = OpenFileDialog1.FileName.ToString
lineas = Split(foto, ".") 'esta variable me permite saber que extension tiene el archivo .jpeg, .png etc
Dim imagen As New Bitmap(New Bitmap(foto), 150, 150)
Try
imagen.Save(ruta & "Imagenes\" CODIGO_PRODUCTO "." & lineas(1), System.Drawing.Imaging.ImageFormat.Png)
ruta_imagen = ruta & "Imagenes\" CODIGO_PRODUCTO "." & lineas(1) ' Guardo esto en mi BD para saber donde esta la foto
'he investigado un poco y encuentro que vb.net no permite borrar las fotos que el carga durante la ejecucion del proyecto solo las puedo borrar despues que finalizo la aplicacion.
Catch
End Try
end sub


