2014-12-13 122 views
0

當我下載圖像並將其顯示在ImageView中時,圖像損壞了一半。Windows Phone下載圖像 - 損壞

enter image description here

BitmapImage bi = new BitmapImage(new Uri(
    "http://xxx.xxx.xxx/chatstickerzWinPhone/get_file_from_mysql.php?id=" 
    + getRandomNumber())); 
bi.DownloadProgress += handlerDownloadProgress; 
Image i = new Image(); 
i.Tag = iss + "_random_doodle"; 
//i.DoubleTap += new EventHandler<System.Windows.Input.GestureEventArgs>(clcoRandomDoodle); 
i.Hold += new EventHandler<System.Windows.Input.GestureEventArgs>(clcoRandomDoodle); 

i.Width = 440; 
i.Height = 300; 
//Background = new ImageBrush { ImageSource = bi }; 
//i.Background = Background; 
i.Source = bi; 

以上是我的代碼下載圖像。

+0

嘗試[code](http://stackoverflow.com/a/23270448/815938),看看它是否有所作爲。區別在於它指定了'BitmapCreateOptions.IgnoreImageCache',可能刷新緩存中的(損壞的)圖像?只是一個瘋狂的猜測。 – kennyzx 2014-12-13 17:02:23

+0

我試過這個,圖片仍然損壞 – 2014-12-14 04:30:58

+0

這個網址是否在一個普通的瀏覽器中工作(例如,您是否確認這不是服務器上的代碼服務器上的代碼來提供隨機圖片的錯誤?) – 2014-12-14 08:16:00

回答

0

使用事件處理程序BitmapImage

public virtual event EventHandler DownloadCompleted 

在處理程序中,使用Dispatcher.BeginInvoke()設置的Image圖像源。