none
Cargar imagen al iniciar la aplicación RRS feed

  • 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.

    viernes, 13 de julio de 2012 10:00

Todas las respuestas

  • que tipo de aplciacion estas desarrollando ? porque veo clases que no son de una aplicacion winforms simple


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 13 de julio de 2012 12:53
  • 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.

    miércoles, 18 de julio de 2012 9:13
  • 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;
                            }
                        }

    martes, 24 de julio de 2012 9:03