BitmapImage轉換WriteableBitmap

  • 996
  • 0
  • 2014-01-21

摘要:BitmapImage轉換WriteableBitmap

小編前幾天寫APP發現了一個小問題,就是我在使用Image的時候

是使用BitmapImage來存我的照片。可是這就會有一個問題產生…

Uri uri = new Uri("fu9.jpg", UriKind.Relative);
BitmapImage bitmapImage0 = new BitmapImage(uri);

 

就是我需要修改圖片本身的話,需要用到WriteableBitmap才能夠處理。

所以一開始就很合理的直接放進去,就覺得系統應該會幫我轉換話,畢竟他們都是放圖片不會差到哪裡去。

Uri uri = new Uri("fu9.jpg", UriKind.Relative);
BitmapImage bitmapImage0 = new BitmapImage(uri);
WriteableBitmap WBP = new WriteableBitmap(bitmapImage0);

 

跑下去才發現會有錯誤,如果沒有錯誤我就不會來這邊PO文章了…後來上網Google爬文了一下,試了很多方法。

最後才曉得因為BitmapImage是不同步處理圖片。所以當我下一行馬上處理WriteableBitmap系統會抓不到值。

所以最後要採用委派的方法來處理BitmapImage轉換為WriteableBitmap

 

Uri uri = new Uri("fu9.jpg", UriKind.Relative);
BitmapImage bitmapImage0 = new BitmapImage(uri);

bitmapImage0.CreateOptions = BitmapCreateOptions.None;
bitmapImage0.ImageOpened += (test, args) =>
{
    WriteableBitmap wb = new WriteableBitmap(test as BitmapImage);

};
bitmapImage0.UriSource = uri;

 

小編小小的分享,這個問題卡了我很久在這邊跟大家簡單的說明。

希望能解決跟我有一樣問題的讀者們。