把图片隐藏掉哪里还能显示了?想要的是像给图片填色的效果,一张图叠一张图,然后BRUSH后可以给前面那张黑白图填色,所填的颜色不消失呀

解决方案 »

  1.   

    呵呵,搂主说不消失,大家都看成消失了.
    应该在Paint事件里编写绘图代码,这样当窗口被遮挡或其它操作导致其图像被“擦除”时,窗口的paint事件将被触发,会执行你的绘图代码把图补上。你还可以在Paint事件中获取无效的区域(被擦除的矩形范围),然后让绘图代码只针对这一部分重绘,达到提高效率的目的。
    此外:创建一个位图对象,使用你现在的绘图代码绘制在位图对象的画布上,然后将这个位图对象当作窗口的背景图,那系统将自动管理上面的过程。
      

  2.   

    bmp = new Bitmap(600, 600);//创建一个位图
    Graphics g = Graphics.FromImage(bmp);从位图创建一个画布
    g.DrawXXX;//你的绘图代码然后,你可以把这个位图对象作为窗口或image组件的背景。这样,窗口将自己管理重绘的过程。或者,你在窗口的Paint事件里:
    Graphics g = e.Graphics;
    g.DrawXXX;每次当窗口需要显示的时候,这段代码都绘执行,实现重绘。不过,如果你绘制的东西带有透明度,可能会叠加。你可以在绘图之前对背景使用窗口的默认背景色进行一次清除。
      

  3.   

    非常感谢~~现在又有一个新问题了就是WPF怎么调入两个外接摄像头呀?笔记本电脑已经有一个摄像头了,可以再接一个摄像头吗?求大神解答!!调入的具体代码是什么呀?很头大!!!