【发布时间】:2021-04-18 17:39:28
【问题描述】:
例如,我有一个 UWP 应用,上面有一个节点“Button”。 现在,我想为这个按钮制作一个快照。并且,输出仅包含此 Button。
对于 JavaFX,我们有函数“node.snapshot()”,那么 C# 和 UWP 怎么样?
【问题讨论】:
-
你是什么节点?
例如,我有一个 UWP 应用,上面有一个节点“Button”。 现在,我想为这个按钮制作一个快照。并且,输出仅包含此 Button。
对于 JavaFX,我们有函数“node.snapshot()”,那么 C# 和 UWP 怎么样?
【问题讨论】:
您可以使用RenderTargetBitmap 类(它表示可以使用 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;
}
【讨论】: