【发布时间】:2018-04-23 21:45:51
【问题描述】:
我有一个使用签名板 (https://github.com/xamarin/SignaturePad) 的 Xamarin 表单页面。我正在尝试捕获整个视图的屏幕截图。它也应该包括签名。
但是,使用以下代码,我注意到签名没有显示出来。
捕获包括签名在内的整个页面的最佳方式是什么? (不仅仅是签名)
public class ScreenshotService : IScreenshotService
{
public async Task<byte[]> CaptureAsync()
{
var rtb = new RenderTargetBitmap();
await rtb.RenderAsync(Window.Current.Content);
var pixelBuffer = await rtb.GetPixelsAsync();
var pixels = pixelBuffer.ToArray();
// Useful for rendering in the correct DPI
var displayInformation = DisplayInformation.GetForCurrentView();
var stream = new InMemoryRandomAccessStream();
var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream);
encoder.SetPixelData(BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Premultiplied,
(uint)rtb.PixelWidth,
(uint)rtb.PixelHeight,
displayInformation.RawDpiX,
displayInformation.RawDpiY,
pixels);
await encoder.FlushAsync();
stream.Seek(0);
var readStram = stream.AsStreamForRead();
var bytes = new byte[readStram.Length];
readStram.Read(bytes, 0, bytes.Length);
return bytes;
}
}
【问题讨论】:
标签: xamarin xamarin.forms uwp signaturepad