示例#1
0
文件: Draw.cs 项目: TabeauK/GK1
        static public PictureBox DrawAll(this PictureBox main)
        {
            Bitmap map = new Bitmap(main.Width, main.Height);

            foreach (Poly elem in Polygons.l)
            {
                map.DrawPoly(elem);
            }
            Polygons.UpdateLabels();
            main.Image = map;
            return(main);
        }
示例#2
0
        public void CreateRelation(Edge e1, Relation rel, PictureBox box)
        {
            Random r = new Random();
            int    i = r.Next() % 30;

            relation         = rel;
            related          = e1;
            e1.related       = this;
            related.relation = rel;
            CreateLabel(i);
            box.Controls.Add(label);
            if (!MakeRelation(new List <Edge>()))
            {
                DeleteRelation();
                Action.relating = false;
                return;
            }
            e1.CreateLabel(i);
            box.Controls.Add(e1.label);
            Polygons.UpdateLabels();
        }
示例#3
0
        private void MainPictureBox_MouseMovingObject(object sender, MouseEventArgs e)
        {
            bool moved = true;

            if (Action.moving)
            {
                foreach (Vertex v in MovingObject.original.verticles)
                {
                    v.x += e.X - MovingObject.startX;
                    v.y += e.Y - MovingObject.startY;
                }
            }
            else if (Focuss.Object is Edge)
            {
                moved = MoveVectorEdge(e.X - MovingObject.startX, e.Y - MovingObject.startY, (Focuss.Object as Edge).from, (Focuss.Object as Edge).to);
            }
            else
            {
                moved = MoveVectorVertex(e.X - MovingObject.startX, e.Y - MovingObject.startY, Focuss.Object as Vertex);
            }
            if (!moved)
            {
                return;
            }
            MovingObject.startX = e.X;
            MovingObject.startY = e.Y;
            Bitmap map = new Bitmap(mainPictureBox.Image.Width, mainPictureBox.Image.Height);

            foreach (var elem in Polygons.l)
            {
                foreach (var elem2 in elem.edges)
                {
                    map.DrawLine(elem2.from, elem2.to, Color.Black);
                }
            }
            Polygons.UpdateLabels();
            mainPictureBox.Image = map;
        }