Estoy haciendo una aplicación que carga un fichero en un form, permite que
el usuario lo modifique y después lo guarde.
Si lo guardo con un nombre disitinto no hay problema, pero si intento
guardarlo con el mismo nombre, no hay manera. dice que el fichero está
siendo utilizado por otro proceso y no deja sobreescribirlo ni eliminarlo.
¿Alguien sabe como liberar el fichero sin cerrar el form?
Esto es lo que yo he intentado, pero no funciona:
Dim G As Graphics, Bimp As Bitmap
'cargar el fichero
Bimp = New Bitmap("imagen.jpg")
PB.Image = Bimp
PB.Refresh()
G = Graphics.FromImage(Bimp)
'aquí viene el código para modificarlo
' .
' Guardar la imagen en un fichero temporal
PB.Image.Save("temp.jpg", ImageFormat.Jpeg)
' intenta liberar la imagen
G.Dispose()
PB.Dispose()
Bimp.Dispose()
PB.Invalidate()
G = Nothing
PB = Nothing
Bimp = Nothing
' borra el fichero original
Kill("imagen.jpg") ' ESTO ES LO QUE NO FUNCIONA
' si hubiera funcionado, renombraría el fichero temporal
File.Copy("temp.jpg", "imagen.jpg")
Kill("temp.jpg")
Esta última parte funciona si cierro el form, pero la idea es seguir para
cargar y mopdificar otras imagenes
He visto una duda parecida en otro foro, pero no había respuesta
Un saludo
Javier
Leer las respuestas