WPF BitmapImage largura / altura são sempre 1?
-
04-07-2019 - |
Pergunta
Eu não entendo ...
BitmapImage img = new BitmapImage(myUri);
Console.WriteLine("Width: {0}, Height: {1}", img.Width, img.Height);
Output: "Largura: 1, Altura: 1".
Eu tentei PixelWidth / PixelHeight, eu tentei manualmente criá-la com BeginInit
/ EndInit
e também definir PreservePixelFormat
... obras nada.
(exceto, mesmo wierder: tudo isto faz parte de um processo em que o usuário clica em um botão e algumas imagens são baixadas Bem, a segunda vez que o botão é clicado, ele faz. tem non-1 largura / altura).
Solução
A primeira vez que o usuário clica no botão de bitmap não foi transferido ainda - então qualquer coisa que você faz com ele causará resultados de lixo (exceto exibi-lo, porque o controle de imagem sabe como lidar com isso).
Você pode manipular o evento BitmapImage.DownloadCompleted saber quando o bitmap está disponível.