using  System;

using  System.Collections.Generic;

using  System.ComponentModel;

using  System.Data;

using  System.Drawing;

using  System.Text;

using  System.Windows.Forms;

using  System.IO;


namespace  HandImage

{

     public   partial   class  frmTest : Form

    {

        List < Points >  HandTrack = new  List < Points > ();

         public  Graphics pb_Graphics;

        Bitmap pb_BMP  =   new  Bitmap( 239 , 235 );


         int  index  =   0 ;     // 第几笔

         public  frmTest()

        {

            InitializeComponent();

        }


         private   void  pnlBar_MouseMove( object  sender, MouseEventArgs e)

        {

            HandTrack[index].PT.Add( new  Point(e.X, e.Y));

            pnlBar.Refresh();

        }


         private   void  pnlBar_Paint( object  sender, PaintEventArgs e)

        {

            pb_Graphics  =  Graphics.FromImage((System.Drawing.Image)pb_BMP);

            pb_Graphics.Clear(pnlBar.BackColor);

             foreach (Points item  in   HandTrack)

            {

                pb_Graphics.DrawLines( new  Pen(Color.Black), item.PT.ToArray());  

            }

            e.Graphics.DrawImage(pb_BMP,  0 ,  0 );

            pb_Graphics.Dispose(); 

        }


         class  Points

        {

             public  List < Point >  PT = new  List < Point > ();

        }


         private   void  btnClear_Click( object  sender, EventArgs e)

        {

            index  =   0 ;

            HandTrack  =   new  List < Points > ();

            pnlBar.Refresh();  

        }


         private   void  pnlBar_MouseUp( object  sender, MouseEventArgs e)

        {

            index ++ ;

        }


         private   void  pnlBar_MouseDown( object  sender, MouseEventArgs e)

        {

            HandTrack.Add( new  Points());

            HandTrack[index].PT.Add( new  Point(e.X, e.Y));

            pnlBar.Refresh();  

        }


         private   void  btnSave_Click( object  sender, EventArgs e)

        {

            dlgSaveFile.Filter  =   " 位图(*.bmp)|*.bmp " ; 

             if  (dlgSaveFile.ShowDialog()  ==  DialogResult.OK)

            {

                 string  strFile  =  dlgSaveFile.FileName;

                pb_BMP.Save(strFile, System.Drawing.Imaging.ImageFormat.Bmp); 

            }

        }

    }

}