[Desenvolvimento] Como converter um objeto StorageFile para um BitmapImage

0

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:

1
2
3
4
5
6
7
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:

1
2
//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: 

Share.

About Author

Bacharel em Ciência da Computação pela FIPP/Unoeste, Pós-Graduado em Desenvolvimento de Sistemas Web, Segurança da Informação e Avaliação do Ensino e da Aprendizagem, Professor universitário e responsável pelo setor de desenvolvimento de sistemas web da Universidade do Oeste Paulista. MCP e MCPS pela Microsoft e nas horas vagas dedica um pouco do seu tempo escrevendo posts técnicos sobre desenvolvimento de sistemas web, windows phone, gerenciamento de servidores e outros assuntos para a comunidade.