private void alertImageListView_RightTapped(object sender, RightTappedRoutedEventArgs e) { if (e.OriginalSource is Image image) { SelectedImage = image.DataContext as AlertDisplayImageModel; } }
public static async void SaveImage(AlertDisplayImageModel SelectedAlertImage) { if (SelectedAlertImage != null) { FileSavePicker picker = new FileSavePicker(); picker.FileTypeChoices.Add("PNG File", new List <string> { ".png" }); StorageFile destFile = await picker.PickSaveFileAsync(); if (destFile != null) { using (IRandomAccessStream stream = await destFile.OpenAsync(FileAccessMode.ReadWrite)) { BitmapEncoder encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream); Stream pixelStream = SelectedAlertImage.AlertDisplayImage.PixelBuffer.AsStream(); byte[] pixels = new byte[pixelStream.Length]; await pixelStream.ReadAsync(pixels, 0, pixels.Length); encoder.SetPixelData(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Ignore, (uint)SelectedAlertImage.AlertDisplayImage.PixelWidth, (uint)SelectedAlertImage.AlertDisplayImage.PixelHeight, 96.0, 96.0, pixels); await encoder.FlushAsync(); } } } }