banner despecable me2

วันศุกร์ที่ 9 สิงหาคม พ.ศ. 2556

lab18 การเขียนโปรแกรมกราฟฟิกส์ด้วย GDI+2

**เพิ่มusing System.Drawing.Drawing2D; ด้วย
การวาดเส้นตรง เป็นการเชื อมต่อระหว่างจุด จำนวน 2 จุด โดยใช้ออบเจกต์ Pen
 private void Form1_Paint(object sender, PaintEventArgs e)
        {


         Pen blackPen = new Pen(Color.Black, 3);

            Point point1 = new Point(100, 100);
            Point point2 = new Point(200, 100);

            e.Graphics.DrawLine(blackPen, point1, point2);
            blackPen.Dispose();
}


-----------------------------------------------------------------
การวาดเส้นตรงด้วย pen style และ brush
private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen pen = new Pen(Color.Red);
            e.Graphics.DrawLine(pen, 10, 50, 220, 50);

            pen = new Pen(Color.Green, 2);
            pen.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot;
            e.Graphics.DrawLine(pen, 10, 80, 220, 80);
          
            pen = new Pen(Brushes.DeepSkyBlue, 4);
            e.Graphics.DrawLine(pen, 10, 120, 220, 120);
            pen.Dispose();    
     }


-----------------------------------------------
การกำหนดจุดปลายของเส้นตรงด้วย style แบบต่างๆ

 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen[] objPen = new Pen[11];
            for (int i = 0; i != 11; i++)
            {
                objPen[i] = new Pen(Color.Blue, 9);
            }
            objPen[0].EndCap = LineCap.AnchorMask;
            objPen[2].EndCap = .LineCap.ArrowAnchor;
            objPen[3].EndCap = .LineCap.DiamondAnchor;
            objPen[4].EndCap = .LineCap.Flat;
            objPen[5].EndCap = .LineCap.NoAnchor;
            objPen[6].EndCap = .LineCap.Round;
            objPen[7].EndCap = .RoundAnchor;
            objPen[8].EndCap = .LineCap.Square;
            objPen[9].EndCap = .LineCap.SquareAnchor;
            objPen[10].EndCap = .LineCap.Triangle;

            for (int i = 0; i != 11; i++)
            {
                e.Graphics.DrawLine(objPen[i], 10, 10 + 20 * i, 200, 10 + 20 * i);
                objPen[i].Dispose();
            }
        }
------------------------------------------------
การวาดเส้นโค้ง
 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen pen = new Pen(Color.Blue);
            Point[] pt = {new Point(20,200), new Point(50,20),
                            new Point(100,100), new Point(150,20),
                            new Point(200,200)
                         };
            e.Graphics.DrawCurve(pen, pt);
            pen.Dispose();
        }

--------------------------------------------

การวาดเส้นโค้งด้วย Graphics path


 private void Form1_Paint(object sender, PaintEventArgs e)
        {
           GraphicsPath gp = new GraphicsPath ();
            
            gp.AddCurve(new Point[]{
                            new Point(100,50),
                            new Point(105,40),
                            new Point(120,40),
                            new Point(130,65),
                            new Point(100,100),
                         }, 0.5f);

             gp.AddCurve(new Point[]{
                            new Point(100,100),
                            new Point(70,65),
                            new Point(80,40),
                            new Point(95,40),
                            new Point(100,50),
                         }, 0.5f);
            e.Graphics.DrawPath(Pens.Red , gp);
          
        }


---------------------------------------------------
การวาดสีเ หลี่ย มครั้ง ละรูปเดียว

 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen mypen = new Pen(Color.Red);
            e.Graphics.DrawRectangle(mypen, 10, 120, 100, 100);
            Rectangle rect = new Rectangle(10, 10, 100, 100);
            e.Graphics.DrawRectangle(mypen, rect);
        }


การวาดสีเ หลีย มพร้อมกันครัง ละหลายๆ รูป
private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen curpen = new Pen(Color.Red,4);
            Rectangle[] rect = {   new Rectangle (20,20,120,20),
                                   new Rectangle (20,50,120,30),
                                   new Rectangle (20,90,120,40),
                                   new Rectangle (20,140,120,60),
                               };
            e.Graphics.DrawRectangles(curpen, rect);
        }


-----------------------------------------
การวาดวงกลมและวงรี
 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Rectangle rect = new Rectangle(10, 10, 120, 100);
            e.Graphics.DrawEllipse(Pens.Cyan, rect);
            Rectangle rect1 = new Rectangle(10, 120, 100, 100);
            e.Graphics.FillEllipse(Brushes.DeepPink, rect1);
            Rectangle rect2 = new Rectangle(150, 10, 120, 100);
            e.Graphics.DrawEllipse(Pens.DarkSlateBlue, rect2);
            Rectangle rect3 = new Rectangle(120, 120, 100, 100);
            e.Graphics.FillEllipse(Brushes.Firebrick, rect3);

        }

----------------------------------------------

การวาดส่วนโค้ง (Arc)
private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen penEllipse = new Pen(Color.Green);
            penEllipse.DashStyle = DashStyle.Dash;
            e.Graphics.DrawEllipse(penEllipse, 20, 20, 200, 150);

            Pen penArc = new Pen(Color.Magenta, 2);
            e.Graphics.DrawArc(penArc, 20, 20, 200, 150, 45, 180);

        }

---------------------------------------
การวาดรูป Pie

 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Pen penEllipse = new Pen(Color.Green);
            penEllipse.DashStyle = DashStyle.Dash;
            e.Graphics.DrawEllipse(penEllipse, 20, 20, 200, 150);

            Pen penPie = new Pen(Color.Magenta, 2);
            e.Graphics.DrawPie(penPie, 20, 20, 200, 150, 45, 90);
            Pen penPie1 = new Pen(Color.BlueViolet, 2);
            e.Graphics.DrawPie(penPie1, 20, 20, 200, 150, 135, 45);
        }


-------------------------------------------------
การสร้าง graphics path จากรูปต่างๆ
private void Form1_Paint(object sender, PaintEventArgs e)
        {
            GraphicsPath gpath = new GraphicsPath();
            gpath.AddEllipse(46, 4, 28, 28);
            gpath.AddLine(36, 32, 84, 32);
            gpath.AddLine(100, 80, 88, 84);
            gpath.AddLine(76, 50, 74, 84);
            gpath.AddLine(90, 150, 74, 150);
            gpath.AddLine(60, 100, 46, 150);
            gpath.AddLine(32, 150, 46, 84);
            gpath.AddLine(44, 50, 32, 84);
            gpath.AddLine(20, 80, 36, 32);
            e.Graphics.FillPath(Brushes.Blue, gpath);

        }


ไม่มีความคิดเห็น:

แสดงความคิดเห็น