Estoy tratando de guardar una imagen en el Disco C:, pero me sale un error: Error genérico en GDI+. He intentado guardarlo en D: y ahí si que no tengo problemas.
PictureBox1.Image.Save("C:\CapturaPantalla.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
Se que es un tema de permisos pero, ¿hay alguna posibilidad que se guarde sin problemas en C:?
Quizás esto vaya en Windows
Cita de: Lucas.AR en 29 Diciembre 2012, 07:35 AM
Estoy tratando de guardar una imagen en el Disco C:, pero me sale un error: Error genérico en GDI+. He intentado guardarlo en D: y ahí si que no tengo problemas.
PictureBox1.Image.Save("C:\CapturaPantalla.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
Se que es un tema de permisos pero, ¿hay alguna posibilidad que se guarde sin problemas en C:?
Quizás esto vaya en Windows
prueba
Public Sub salvarimagen(ByVal caja As PictureBox)
If caja.Image Is Nothing = False Then
Using salvador As New SaveFileDialog
salvador.InitialDirectory = Application.StartupPath & "\Imagenes\"
salvador.Filter = " BITMAP|*.bmp| JPEG|*.jpeg|JPG|*.jpg|GIF|*.gif|PNG|*.png"
salvador.Title = "guardar como"
If salvador.ShowDialog = DialogResult.OK Then
If salvador.FileName.Substring(salvador.FileName.LastIndexOf("."c) + 1) = "bmp" Then
caja.Image.Save(salvador.FileName, ImageFormat.Bmp)
ElseIf salvador.FileName.Substring(salvador.FileName.LastIndexOf("."c) + 1) = "jpeg" Or salvador.FileName.Substring(salvador.FileName.LastIndexOf("."c) + 1) = "jpg" Then
caja.Image.Save(salvador.FileName, ImageFormat.Jpeg)
ElseIf salvador.FileName.Substring(salvador.FileName.LastIndexOf("."c) + 1) = "gif" Then
caja.Image.Save(salvador.FileName, ImageFormat.Gif)
ElseIf salvador.FileName.Substring(salvador.FileName.LastIndexOf("."c) + 1) = "png" Then
caja.Image.Save(salvador.FileName, ImageFormat.Png)
End If
caja.Image = Nothing
Else
End If
End Using
Else
End If
End Sub
si quieres guardar en C:\ debes darle permisos a tu aplicacion, prueba con eso y nos comentas.!
como dijeron, es por permisos.
cuando tu aplicacion necesita grabar una imagen o crear archivos, se deben crear en el directorio que windows le brinda para hacer eso y ahi no hay problema de permisos, esa es la carpeta Application Data (AppData), ahi cada aplicacion guarda sus preferencias y archivos temporales.
Sí, entonces algo de razón tenía, eran los permisos.
Cita de: _katze_ en 30 Diciembre 2012, 04:36 AM
si quieres guardar en C:\ debes darle permisos a tu aplicacion, prueba con eso y nos comentas.!
Dí los permisos a mi aplicación y pude grabar tranquilamente.
Cita de: seba123neo en 30 Diciembre 2012, 05:48 AM
como dijeron, es por permisos.
cuando tu aplicacion necesita grabar una imagen o crear archivos, se deben crear en el directorio que windows le brinda para hacer eso y ahi no hay problema de permisos, esa es la carpeta Application Data (AppData), ahi cada aplicacion guarda sus preferencias y archivos temporales.
No sabía que AppData no daba problemas con el tema de permisos.
Otra, creé una carpeta manualmente en C:\ y también pude grabar en ella la imagen sin que me salga ningún error. ;D
Muchas gracias a todos. ;)