Buenos días todos,Problemas al sobrescribir (volver a guardar) la imagen cuando se configuró como fuente de la imagen
Tengo problemas con los permisos de las imágenes.
Estoy cargando una imagen del archivo, cambiándola de tamaño y luego guardándola en otra carpeta. Estoy a continuación, que exhiben este modo:
uriSource = new Uri(Combine(imagesDirectoryTemp, generatedFileName), UriKind.Absolute);
imgAsset.Source = new BitmapImage(uriSource);
Esto está trabajando muy bien, el problema viene si el usuario selecciona entonces otra imagen inmediatamente después y trata de guardarlo en el archivo original.
Una excepción se genera al guardar mi imagen "ExternalException: A generic error occurred in GDI+."
Después de algún juego en torno he estrechado el error hasta imgAsset.Source = new BitmapImage(uriSource);
como la eliminación de esta línea y no se establece el Imagesource me permitirá sobrescribir este archivo muchas veces.
También intenté configurar el origen en otra cosa, antes de volver a guardarlo con la esperanza de que la referencia anterior fuera eliminada, este no era el caso.
¿Cómo puedo superar este error?
Gracias, Kohan
Editar
Ahora, utilizando este código no estoy recibiendo la excepción sin embargo, el origen de la imagen no se actualiza. Además, dado que no estoy usando un SourceStream, no estoy seguro de qué tengo que deshacerme para que funcione.
uriSource = new Uri(Combine(imagesDirectoryTemp, generatedFileName), UriKind.Absolute);
imgTemp = new BitmapImage();
imgTemp.BeginInit();
imgTemp.CacheOption = BitmapCacheOption.OnLoad;
imgTemp.UriSource = uriSource;
imgTemp.EndInit();
imgAsset.Source = imgTemp;
Perfecto, muchas gracias por esto. – 4imble
imgTemp.CreateOption debe ser imgTemp.CreateOptions –