Usuario
Cargar imagen al iniciar la aplicación

Pregunta
-
FileOpenPicker picker = new FileOpenPicker(); picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary; picker.FileTypeFilter.Add(".png"); picker.FileTypeFilter.Add(".jpeg"); picker.FileTypeFilter.Add(".jpg"); picker.FileTypeFilter.Add(".bmp"); StorageFile file = await picker.PickSingleFileAsync(); StorageFile file2 = await StorageFile.GetFileFromPathAsync(file.Path); if (file != null) { using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) { BitmapImage bitmapImage = new BitmapImage(); bitmapImage.DecodePixelHeight = 150; bitmapImage.DecodePixelWidth = 150; bitmapImage.SetSource(fileStream); ImageBrush ib = new ImageBrush(); ib.ImageSource = bitmapImage; b.Background = ib; } }
Tengo una opción para dejar elegir al usuario la imagen de fondo del botón (b.Background) mediante el picker de imagenes.
Me gustaría poder guardare la imagen de alguna manera, para la próxima vez que se abra la aplicación, se cargue con esa imagen elegida por el usuario. Alguna idea?
Gracias.
Todas las respuestas
-
-
Hola! Es una aplicación estilo metro para windows 8.
Necesito poder guardar imagenes y luego cargarlas otra vez, es lo que no se hacer.
Solo encuentro funciones para guardar archivos de texto, pero nada para guardar otro tipo de objetos, como imagenes, y luego recuperarlo.
-
La solución ha sido esta:
StorageFile file = await picker.PickSingleFileAsync(); ApplicationData appData = ApplicationData.Current; try { await file.CopyAsync(appData.LocalFolder); } catch (Exception ex) { ExceptionMessage = ex.Message; Display("\nLa imagen elegida está repetida", Colors.Orange); } if (file != null) { using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) { BitmapImage bitmapImage = new BitmapImage(); bitmapImage.DecodePixelHeight = 150; bitmapImage.DecodePixelWidth = 150; bitmapImage.SetSource(fileStream); ImageBrush ib = new ImageBrush(); LocalSettings.Containers["DataContainer"].Values[b.Name] = file.Name; ib.ImageSource = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri("ms-appdata:///local/" + file.Name)); b.Background = ib; } }