2013-05-05 80 views
0

我正在与kinect(我添加的情况下,有人有一个很好的方法来使用kinect)的项目工作,但我认为这主要是一些编程问题在C#和WPF 。我想制作2张图片,一张在另一张上面,并且点击鼠标,就可以将第一张图片划掉。我尝试使用inkcanvas并将图片放入inkcanvas中,但我只能在其上绘制。抓图片的颜色

有人可以给我一个想法或一些方法,他认为这将是更好的方式来进行?

+0

这很奇怪,但每次我试图把大家好中开始,它就会删除了帖子:(... 大家好:) – adlescouflair 2013-05-05 20:53:14

+0

这东西在这里的工作方式,请参阅[应该'嗨','谢谢',标语和致敬辞职](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts) – 2013-05-05 20:57:45

+0

@jimmy_keen谢谢:),至少我可以说'谢谢' – adlescouflair 2013-05-05 21:06:41

回答

2

一个想法可能是使用OpacityMask这是一个VisualBrush,其中包含您的InkCanvas

+0

谢谢,但什么是视觉刷?其他画笔之间是什么? 我想我到了那里......现在我有一张刮刮卡像彩票一样。 http://geekswithblogs.net/tkokke/archive/2009/03/02/scratchcard-in-wpf.aspx 我正在测试这个代码找到我只是添加链接,我想知道如何可以使图片成为视觉刷,没有灰色的视觉刷。我试图改变它,但是,然后,我看到我无法将它刮掉。 :(为什么微软不在他们的页面中添加一个小句子来告诉课程的使用,至少我可能知道它是什么:( – adlescouflair 2013-05-07 00:26:21

+0

@adlescouflair:你应该只需要把你的其他图片放在受其影响的图片下面那么它应该默认显示,另一个在画布上绘制时显示,灰色来自'Grid'的背景,添加图像作为所述'Grid'的第一个元素(只要确保你有图片以正确的顺序排列) – 2013-05-07 00:32:30

+0

我有点失落,我有一些电力问题...我会尽力了解更多明天或以后,如果我获得电力。再次感谢您的帮助 – adlescouflair 2013-05-07 01:20:40

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>