我使用GDI+制作绘图板,需要在绘图区添加网格线(辅助线),像在windows画图中的一样,保存的时候画上去的网格线不保存.应该怎样实现?

解决方案 »

  1.   

    1、准备个girdBmp,透明背景并划网格线。
    2、装入你要编辑的图到工作区workingBmp。
    3、显示的时候先画工作图,在叠加网格。
    4、画画的时候画到工作区上。
    5、存盘的时候存工作区。
    Bitmap workingBmp = ...;   //2
    Bitmap gridBmp = ...;      //1protected override void OnPaint(PaintEventArgs e)
    {
        e.Graphics.DrawImageUnscaled(workingBmp, Point.Empty);  //3
        e.Graphics.DrawImageUnscaled(gridBmp, Point.Empty);     //3
    }protected override void OnMouseMove(MouseEventArgs e)
    {
        DrawToWorkingBmp();    //4
    }void button_Click(object sender, EventArgs e)
    {
        SaveWorkingBmp();      //5
    }
      

  2.   

    准备两张Bitmap.一张Bitmap用于你画图(底图),另一张Bitmap用于画网格线(网格图)。
    每次画图的时候先draw底图,再draw你画的东西到底图上,再draw网格图。
    最后保存的时候保存底图就行了。。很简单。
      

  3.   

    请问大哥如何设置bmp透明背景
      

  4.   

    声明内存图(BMP)在bmp上进行绘制。
      

  5.   

    为什么要即时绘制啊,提前将网格画好存储为一张位图不就行了?Bill Joy曾经说过:在计算机体系结构的领域里,缓存是唯一称得上伟大的思想,其他的一切发明和技术不过是在不同场景下应用这一思想而已。