如何使用透明捕获节点

How to capture a Node with transparent

例如,我有一个 UWP 应用程序,上面有一个节点“按钮”。 现在,我想为这个 Button 做一个 snap。而且,输出只包括这个按钮。

对于 JavaFX,我们有函数“node.snapshot()”,C# 和 UWP 怎么样?

您可以使用 RenderTargetBitmap class(表示可以用 XAML 可视化树的组合内容填充的图像源)来完成这项工作。

例如:

//Page.xaml 
<StackPanel>
    <Button x:Name="capturedButton" Content="capture me" Margin="10"/>
    <Button x:Name="button" Content="click me" Margin="10" Click="button_Click"/>
    <Image x:Name="image" Margin="10" Width="200" Height="200" Stretch="None"/>
</StackPanel>

//Page.xaml.cs
private async void button_Click(object sender, RoutedEventArgs e)
{
    RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
    await renderTargetBitmap.RenderAsync(capturedButton);
    image.Source = renderTargetBitmap;
}