两个图层,擦除前端图层,显示后端图层,大概效果和ios的妄撮一样,另外,后端图层非窗体背景图
还有winform的窗体背景颜色怎么变成透明色?

解决方案 »

  1.   

    楼主可以参考:
    http://www.uipower.com/bbs/thread-108500-1-1.html
      

  2.   

    简单写了个demo,没有多考虑和优化,就是提供个思路
            private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    for(int i=0;i<15;i++)
                        for(int k=0;k<15;k++)
                            p2.SetPixel(e.X+i, e.Y+k, p1.GetPixel(e.X+i, e.Y+k));
                    pictureBox1.Refresh();
                }
            }
    原理就是把擦掉的部分用背景的图片填充,如果图片较大可以分块处理。
      

  3.   

    自己找到了一个方法,橡皮擦本质就是画笔,颜色设定为窗体的TransparencyKey的颜色就OK了