Devs

[Desenvolvimento] Como converter um objeto StorageFile para um BitmapImage

Segue uma dica para converter um arquivo armazenado localmente no Windows Phone (ou Universal APPs) para um objeto do tipo BitmapImage.

Em primeiro lugar devemos recuperar o arquivo da imagem e armazena-lo em um objeto do tipo StorageFile. Exemplo:

string nomeArquivo = "teste";
//O objeto folder irá representar o "sistema de arquivos" da APP
StorageFolder folder = ApplicationData.Current.LocalFolder;
//O objeto imgFolder irá representar o diretório onde as imagens estão armazenadas
StorageFolder imgFolder = await folder.GetFolderAsync("Images"); //Supondo que os arquivos de imagens fiquem no diretório de nome Images
//O objeto file representa o arquivo da imagem que você está recuperando
StorageFile file = await imgFolder.GetFileAsync(nomeArquivo);

Depois de obter o arquivo e coloca-lo em um objeto do tipo StorageFile, basta fazer a conversão para BitmapImage. Claro que para isso funcionar o arquivo recuperado anteriormente tem que ser do tipo de uma imagem. Exemplo:

//Esse trecho de código é continuação do anterior e o objeto file representa o arquivo recuperado
BitmapImage img = new BitmapImage(new Uri(file.Path, UriKind.Absolute));

Abraços,

Eduardo Henrique Rizo (@eduardorizo)

MCP

Post Relacionado: