摘要: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;
小編小小的分享,這個問題卡了我很久在這邊跟大家簡單的說明。
希望能解決跟我有一樣問題的讀者們。