上一篇說顯示一張圖檔到Image控件,比較簡單。
那個假設我Image控件有圖檔了,想儲存到本地,這個就要花心思了,不過也不複雜的。。。
var rtb = new RenderTargetBitmap();
await rtb.RenderAsync(imgCover);
var saveFile = new FileSavePicker();
saveFile.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
saveFile.FileTypeChoices.Add("JPEG files", new List<string>() { ".jpg" });
saveFile.SuggestedFileName = “Test”;
StorageFile sFile = await saveFile.PickSaveFileAsync();
if (sFile == null)
return;
var pixels = await rtb.GetPixelsAsync();
using (IRandomAccessStream stream = await sFile.OpenAsync(FileAccessMode.ReadWrite))
{
var encoder = await
BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream);
byte[] bytes = pixels.ToArray();
encoder.SetPixelData(BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Ignore,
(uint)rtb.PixelWidth,
(uint)rtb.PixelHeight,
200,
200,
bytes);
await encoder.FlushAsync();
}
imgCover是Image控件。

作者:貓叔Vincent
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。