0

我正在使用 kinect 开展一个项目(我正在添加以防有人有使用 kinect 的好方法),但我认为这主要是 C# 和 WPF 中的一些编程问题。我想做两张照片,一张在另一张上,用鼠标点击,就能把第一张照片刮掉。我尝试使用 inkcanvas 并将图片放在 inkcanvas 中,但我只能在其上绘制。

有人可以给我一个想法或一些他认为会更好的方法吗?

4

2 回答 2

2

一个想法可能是使用OpacityMask包含VisualBrush您的InkCanvas.

于 2013-05-06T18:30:42.957 回答
0

这就是我所做的,感谢@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>

于 2013-05-07T04:41:55.947 回答