private async Task DoRender(ScreenshotToStreamCallback callback) { var renderTargetBitmap = new RenderTargetBitmap(); await renderTargetBitmap.RenderAsync(AssociatedObject); var pixelBuffer = await renderTargetBitmap.GetPixelsAsync(); var stream = new InMemoryRandomAccessStream(); var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, stream); encoder.SetPixelData( BitmapPixelFormat.Bgra8, BitmapAlphaMode.Ignore, (uint)renderTargetBitmap.PixelWidth, (uint)renderTargetBitmap.PixelHeight, 96d, 96d, pixelBuffer.ToArray()); await encoder.FlushAsync(); stream.Seek(0); if (callback != null) { callback(stream); } }
public ScreenshotToStreamMessage(object sender = null, object target = null, ScreenshotToStreamCallback callback = null) : base(sender, target) { Callback = callback; }
public ScreenshotToStreamMessage(object sender = null, object target = null, ScreenshotToStreamCallback callback = null) : base(sender, target) { Callback = callback; }