[英]How to save BitmapImage from Internet on hard drive? (C# UniversalApp)
這聽起來很簡單,但我注意到這對我來說不是! 我想將一個簡單的jpg或其他格式的圖像從Internet保存到硬盤。 我使用以下代碼從網上獲取圖像。 如何將其保存到HDD?
BitmapImage posterBitmap = new BitmapImage(new Uri(imageLocationOnNet, UriKind.Absolute));
如果有人能給我一個簡單的代碼示例並解釋其工作原理,我將不勝感激。
最好在C#和Windows Universal App兼容的情況下,謝謝。
編輯。 我也想知道是否有可能將BitmapImage轉換為JSON並從那里讀回?
我猜這對您來說似乎並不簡單的原因是您在錯誤的位置看
位圖源和位圖圖像僅用於加載圖像,保存功能在編碼器中分類,例如PngEncoder
一旦選擇了正確的編碼器,則只需將圖像作為幀添加到其中,然后將其保存到流中
encoder.Frames.Add(BitmapFrame.Create(image));
encoder.Save(stream);
在這里找到。 創建該圖像時,需要花費一些時間來下載它。 您可以檢查是否正在下載
posterBitmap.IsDownloading
完成后,添加處理程序
posterBitmap.DownloadCompleted += posterBitmap_DownloadCompleted;
然后寫函數保存圖片
private void objImage_DownloadCompleted(object sender, EventArgs e)
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
Guid photoID = System.Guid.NewGuid();
String photolocation = photoID.ToString() + ".jpg"; //file name
encoder.Frames.Add(BitmapFrame.Create((BitmapImage)sender));
using (var filestream = new FileStream(photolocation, FileMode.Create))
encoder.Save(filestream);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.