예제 #1
0
        public void draw(TwoPointFigure el, Graphics g, Pen p)
        {
            string type = el.TYPE;

            if (type == "line")
            {
                g.DrawLine(p, el.P1, el.P2);
            }

            if (type == "rectangle")
            {
                g.DrawRectangle(p, new Rectangle(el.P1.X, el.P1.Y, Math.Abs(el.P2.X - el.P1.X), Math.Abs(el.P2.Y - el.P1.Y)));
            }

            if (type == "ellipse")
            {
                g.DrawEllipse(p, new Rectangle(el.P1.X, el.P1.Y, Math.Abs(el.P2.X - el.P1.X), Math.Abs(el.P2.Y - el.P1.Y)));
            }

            if (type == "square")
            {
                g.DrawRectangle(p, new Rectangle(el.P1.X, el.P1.Y, el.A, el.A));
            }

            if (type == "circle")
            {
                g.DrawEllipse(p, new Rectangle(el.P1.X, el.P1.Y, el.A, el.A));
            }
        }
예제 #2
0
        private void pbpaint_MouseDown(object sender, MouseEventArgs e)
        {
            listP.Add(new Point(e.X, e.Y));

            if (rbtriangle.Checked == false && listP.Count > 2)
            {
                listP.Clear();
            }

            if (listP.Count == 2 && !rbtriangle.Checked)
            {
                TwoPointFigure twopointsfigure = new TwoPointFigure(listP[0], listP[1]);

                if (rbline.Checked == true)
                {
                    twopointsfigure.TYPE = "line";
                }

                if (rbellipse.Checked == true)
                {
                    twopointsfigure.TYPE = "ellipse";
                }

                if (rbcircle.Checked == true)
                {
                    twopointsfigure.TYPE = "circle";
                }

                if (rbrectangle.Checked == true)
                {
                    twopointsfigure.TYPE = "rectangle";
                }

                if (rbsquare.Checked == true)
                {
                    twopointsfigure.TYPE = "square";
                }

                drawer.draw(twopointsfigure, pbpaint.CreateGraphics(), new Pen(Color.Black, 3));
                listP.Clear();
            }

            if (listP.Count == 3 && rbtriangle.Checked == true)
            {
                ThreePointFigure threepointsfigure = new ThreePointFigure(listP[0], listP[1], listP[2]);
                drawer.draw(threepointsfigure, pbpaint.CreateGraphics(), new Pen(Color.Black, 3));
                listP.Clear();
            }
        }