我正在使用 kinect 开展一个项目(我正在添加以防有人有使用 kinect 的好方法),但我认为这主要是 C# 和 WPF 中的一些编程问题。我想做两张照片,一张在另一张上,用鼠标点击,就能把第一张照片刮掉。我尝试使用 inkcanvas 并将图片放在 inkcanvas 中,但我只能在其上绘制。
有人可以给我一个想法或一些他认为会更好的方法吗?
一个想法可能是使用OpacityMask
包含VisualBrush
您的InkCanvas
.
这就是我所做的,感谢@HB 的帮助。如果有人想知道或需要它,部分代码来自 http://geekswithblogs.net/tkokke/archive/2009/03/02/scratchcard-in-wpf.aspx 。
<Border Background="#FF909090" BorderBrush="#FF000000"
BorderThickness="2,2,2,2">
<Grid Width="Auto" Height="Auto">
<Grid.Background>
<ImageBrush ImageSource="birthday_cake_by_protoperahe.jpg"/>
</Grid.Background>
<InkCanvas x:Name="inkCanvas"
Background="{x:Null}">
<InkCanvas.DefaultDrawingAttributes>
<DrawingAttributes Height="25" Width="25"/>
</InkCanvas.DefaultDrawingAttributes>
</InkCanvas>
<Image IsHitTestVisible="False" Source="planet.jpg" Stretch="Fill">
<Image.OpacityMask>
<VisualBrush
Visual="{Binding ElementName=inkCanvas}"/>
</Image.OpacityMask>
</Image>
</Grid>