任何想法如何从代码中捕获SDK 8.1 Windows Phone中的屏幕?对于Windows Phone 7.5,我已经看到了代码并尝试使用,但是失败了。 :(

最佳答案

您可以使用RenderTargetBitmap并将其传递给表示页面的FrameworkElement,然后从中渲染位图。

private async Task<RenderTargetBitmap> CreateBitmapFromElement(FrameworkElement uielement)
{
    try
    {
        var renderTargetBitmap = new RenderTargetBitmap();
        await renderTargetBitmap.RenderAsync(uielement);

        return renderTargetBitmap;
    }
    catch (Exception ex)
    {
        System.Diagnostics.Debug.WriteLine(ex);
    }

    return null;
}

尝试类似的东西:
private async void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
    this.imagePreview.Source = await CreateBitmapFromElement(this);
}

页面上的XAML所在的位置:
<Grid x:Name="controlsGrid">
    <Button Click="ButtonBase_OnClick">take screenshot</Button>
    <Image x:Name="imagePreview"
           Height="200" VerticalAlignment="Bottom"
           Stretch="UniformToFill" />
</Grid>

关于c# - 如何在Windows Phone 8.1 SDK中以编程方式捕获屏幕?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23898499/

10-13 08:05