Domanda

Non capisco ...

BitmapImage img = new BitmapImage(myUri);
Console.WriteLine("Width: {0}, Height: {1}", img.Width, img.Height);

Uscita: " Larghezza: 1, Altezza: 1 " ;.

Ho provato PixelWidth / PixelHeight, ho provato a crearlo manualmente con BeginInit / EndInit e anche l'impostazione di PreservePixelFormat ... niente funziona.

(Tranne, ancora più strano: fa tutto parte di un processo in cui l'utente fa clic su un pulsante e alcune immagini vengono scaricate. Bene, la seconda volta che si fa clic su quel pulsante, lo fa ha larghezza / altezza non 1.)

È stato utile?

Soluzione

La prima volta che l'utente fa clic sul pulsante, la bitmap non è stata ancora scaricata, quindi qualsiasi cosa tu faccia con essa causerà risultati inutili (tranne che per la sua visualizzazione, perché il controllo Image sa come gestirlo).

Puoi gestire l'evento BitmapImage.DownloadCompleted per sapere quando la bitmap è disponibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top