WPF:获取画布控件下的快照的最佳方式

问题描述:

我有一个WPF应用程序,并且使用具有50%不透明度的Canvas作为裁剪矩形,可以调整大小并移动到图像上,并且每次它会移动,我使用CroppedBitmap来显示图像的实时预览,但它会使应用程序变慢,因为我每次创建一个新的CroppedBitmap ...WPF:获取画布控件下的快照的最佳方式

什么是获取该区域图像的最佳方式画布是?

谢谢!

您可以使用VisualBrush并将其指向画布

<StackPanel > 
    <Canvas x:Name="MyCanvas" Width="10" Height="10" HorizontalAlignment="Left" ClipToBounds="True"> 
    <Ellipse Fill="Black" Width="10" Height="20" /> 
    </Canvas> 
    <Border Height="30" Width="30" HorizontalAlignment="Left"> 
    <Border.Background> 
     <VisualBrush Visual="{Binding ElementName=MyCanvas}" /> 
    </Border.Background> 
    </Border> 
</StackPanel>