none
¿Se puede guardar una imagen para recuperarla desde el archivo de configuración? RRS feed

Respuestas

  • En el My.Settings (que se almacena dentro del .config) puedes guardar cualquier dato que sea serializable. En particular, si salvas el contenido de la imagen como array de bytes, este es un dato serializable y por tanto se puede leer y grabar mediante el My.Settings.
    • Marcado como respuesta James-2016 viernes, 18 de marzo de 2016 22:47
    viernes, 18 de marzo de 2016 6:22

Todas las respuestas

  • En el My.Settings (que se almacena dentro del .config) puedes guardar cualquier dato que sea serializable. En particular, si salvas el contenido de la imagen como array de bytes, este es un dato serializable y por tanto se puede leer y grabar mediante el My.Settings.
    • Marcado como respuesta James-2016 viernes, 18 de marzo de 2016 22:47
    viernes, 18 de marzo de 2016 6:22
  • Entonces sí se puede, interesante, es que se convierte en data noo?
    viernes, 18 de marzo de 2016 22:47
  • Primero en tu código tienes que hacer tú mismo la conversión de la imagen en array de bytes. La forma de hacer esto depende de cómo la tengas almacenada, por ejemplo, si es un objeto System.Drawing.Image usarías una sobrecarga del SaveAs para salvarla a un MemoryStream y luego el ToArray del memorystream para pasarla a bytes. Pero si está en un archivo, entoces usarías (por ejemplo) System.IO.File.ReadAllBytes para pasar la imagen al array de bytes.

    Una vez que tienes los bytes, se los asignas a la propiedad que definiste en los Settings, y el framework se encarga de serializar esos bytes para poderlos salvar en el XML del config. Nótese que al serializar a XML saldrá un chorreón de texto considerablemente grande, así que este mecanismo ocasionará que el user.config crezca de manera considerable si la imagen es grande.

    sábado, 19 de marzo de 2016 8:20
  • Muchas gracias. Tendré en cuenta ese detalle del tamaño de las imágenes.
    sábado, 19 de marzo de 2016 20:58