我想在我的应用程序中截取屏幕截图并将其保存在具有唯一名称的应用程序的本地文件夹中。
所以请帮助我。

最佳答案

您可以使用 RenderTargetBitmap 捕获屏幕。试试这个代码:

//create and capture Window
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(Window.Current.Content);

//create unique file in LocalFolder
var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("screenshotCapture.jpg", CreationCollisionOption.GenerateUniqueName);

//create JPEG image
using (var stream = await file.OpenStreamForWriteAsync())
{
    var logicalDpi = DisplayInformation.GetForCurrentView().LogicalDpi;
    var pixelBuffer = await renderTargetBitmap.GetPixelsAsync();
    var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, stream.AsRandomAccessStream());
    encoder.SetPixelData(BitmapPixelFormat.Bgra8,
                            BitmapAlphaMode.Straight,
                            (uint)renderTargetBitmap.PixelWidth,
                            (uint)renderTargetBitmap.PixelHeight, logicalDpi, logicalDpi,
                            pixelBuffer.ToArray());
    await encoder.FlushAsync();
}

关于c# - 如何在 Windows Store 应用程序中进行屏幕截图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38772158/

10-13 09:22