Ik ben bezig met een tooltje waarmee foto's geupload kunnen worden.
Deze heb ik al eens eerder geschreven, maar omdat deze vol fouten zit en niet echt schaalbaar is ben ik hem aan het herschrijven. Ik zit echter vast op het opslaan van een jpg.
Ik heb een picturebox met een afbeelding, wanneer er op een button geklikt wordt moet deze 90 graden gedraaid worden. De code die ik daarvoor gebruik is:
Hij loopt echter vast op de regel "img_rotate.Save(img, Imaging.ImageFormat.Jpeg)" met de volgende foutmelding:
"An unhandled exception of type 'System.Runtime.InteropServices.ExternalException' occurred in system.drawing.dll
Additional information: A generic error occurred in GDI+."
Lekker veelzeggend dus...
Ik heb de foutmelding al in google en in de search geramd, maar helaas geen succes, wanneer ik hem onder een andere bestandsnaam opsla gaat het wel goed. Blijkbaar kan hij dus het bestaande bestand overschrijven.
Vervolgens heb ik geprobeerd om de afbeelding op te slaan onder een andere bestandsnaam en deze te kopieren naar het origineel, dus:
maar dan krijg ik deze melding:
"An unhandled exception of type 'System.IO.IOException' occurred in microsoft.visualbasic.dll
Additional information: The process cannot access the file "D:\Mijn afbeeldingen\vakantiefoto's 2005\IMAG0006.JPG" because it is being used by another process."
wat ik erg vreemd vind want elk object wordt op Nothing gezet alvorens het bestand te overschrijven.
Deze heb ik al eens eerder geschreven, maar omdat deze vol fouten zit en niet echt schaalbaar is ben ik hem aan het herschrijven. Ik zit echter vast op het opslaan van een jpg.
Ik heb een picturebox met een afbeelding, wanneer er op een button geklikt wordt moet deze 90 graden gedraaid worden. De code die ik daarvoor gebruik is:
code:
1
2
3
4
5
6
| Private Sub butRotate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butRotate.Click
Dim img_rotate As Bitmap = Image.FromFile(img)
PictureBox1.Image = Nothing
img_rotate.RotateFlip(RotateFlipType.Rotate90FlipNone)
img_rotate.Save(img, Imaging.ImageFormat.Jpeg)
End Sub |
Hij loopt echter vast op de regel "img_rotate.Save(img, Imaging.ImageFormat.Jpeg)" met de volgende foutmelding:
"An unhandled exception of type 'System.Runtime.InteropServices.ExternalException' occurred in system.drawing.dll
Additional information: A generic error occurred in GDI+."
Lekker veelzeggend dus...
Ik heb de foutmelding al in google en in de search geramd, maar helaas geen succes, wanneer ik hem onder een andere bestandsnaam opsla gaat het wel goed. Blijkbaar kan hij dus het bestaande bestand overschrijven.
Vervolgens heb ik geprobeerd om de afbeelding op te slaan onder een andere bestandsnaam en deze te kopieren naar het origineel, dus:
code:
1
2
3
| img_rotate.Save("C:\test.jpg", Imaging.ImageFormat.Jpeg)
img_rotate = Nothing
FileCopy("C:\test.jpg", img) |
maar dan krijg ik deze melding:
"An unhandled exception of type 'System.IO.IOException' occurred in microsoft.visualbasic.dll
Additional information: The process cannot access the file "D:\Mijn afbeeldingen\vakantiefoto's 2005\IMAG0006.JPG" because it is being used by another process."
wat ik erg vreemd vind want elk object wordt op Nothing gezet alvorens het bestand te overschrijven.
Raar... Is zo gek nog niet