私はkinectを使ったプロジェクトに取り組んでいます(誰かがkinectを使う良い方法を持っている場合に備えて追加しています)が、これは主にC#とWPFのプログラミングの問題だと思います。私は2つの写真を重ねてマウスクリックで最初の写真をスクラッチできるようにしたいと考えています。私は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>