Error genérico en GDI+

Iniciado por Crazy.sx, 29 Diciembre 2012, 07:35 AM

0 Miembros y 1 Visitante están viendo este tema.

Crazy.sx

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.

Código (vbnet) [Seleccionar]
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
Destruir K. LOL

spiritdead

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.

Código (vbnet) [Seleccionar]
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
Código (vbnet) [Seleccionar]

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
Facilitador De Tareas - Task Simplifier (FDT)

_katze_

si quieres guardar en C:\ debes darle permisos a tu aplicacion, prueba con eso y nos comentas.!

seba123neo

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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Crazy.sx

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. ;)
Destruir K. LOL