Ejemplo n.º 1
0
        public void DrawForm()
        {
            var f = new ZForm()
            {
                Size = new Size(1080, 800),
                Text = "ZForm"
            };
            var btn = new Button()
            {
                Text     = "Draw",
                Location = new Point(10, 400),
            };
            var num = new NumericUpDown()
            {
                Minimum  = 1,
                Maximum  = 500,
                Value    = 1,
                Size     = new Size(60, 30),
                Location = new Point(10, 430),
            };

            num.ValueChanged += (s, e) =>
            {
                btn.PerformClick();
            };
            btn.MouseClick += (s, e) =>
            {
                ZHello.GDI.Draw.DDX = (int)num.Value;
                var dc = f.CreateGraphics();
                //dc.SetClip(new Rectangle(100, 100, 1000, 1000));
                //dc.Clear(Color.White);
                //dc.ResetClip();
                //f.DrawTestGrahpics();
                //dc.DrawStar(new Rectangle(200, 100, 200, 200), Color.Red);
                int radius = 80;
                dc.DrawPolygonX(new PointF(200, 200), radius, 3, Color.Red);
                dc.DrawPolygonX(new PointF(400, 200), radius, 4, Color.Blue);
                dc.DrawPolygonX(new PointF(600, 200), radius, 5, Color.Green);
                dc.DrawPolygonX(new PointF(800, 200), radius, 6, Color.Yellow);

                dc.DrawPolygonX(new PointF(200, 400), radius, 7, Color.Red);
                dc.DrawPolygonX(new PointF(400, 400), radius, 8, Color.Blue);
                dc.DrawPolygonX(new PointF(600, 400), radius, 9, Color.Green);
                dc.DrawPolygonX(new PointF(800, 400), radius, 10, Color.Yellow);

                dc.DrawPolygonX(new PointF(200, 600), radius, 11, Color.Red);
                dc.DrawPolygonX(new PointF(400, 600), radius, 12, Color.Blue);
                dc.DrawPolygonX(new PointF(600, 600), radius, 13, Color.Green);
                dc.DrawPolygonX(new PointF(800, 600), radius, 14, Color.Yellow);
            };
            var axis = new AxisRenderer()
            {
                AxisType      = AxisType.AxisXY,
                SubScaleCount = 2,
            };

            f.Paint += (s, e) =>
            {
                var dc = e.Graphics;
                dc.TranslateTransform(f.AutoScrollPosition.X, f.AutoScrollPosition.Y);
                axis.Bounds = new Rectangle(1, 1, 800, 600);
                axis.Render(dc);
                //e.Graphics.DrawStar(new Rectangle(100, 100, 100, 100), Color.Red);
            };
            f.Controls.Add(btn);
            f.Controls.Add(num);
            f.ShowDialog();
        }
Ejemplo n.º 2
0
        private static Figure GenerateFigure()
        {
            Random rnd = new Random();
            Figure figure = null;
            int figureNumber = rnd.Next(1, 8);

            switch (figureNumber)
            {
                case 1:
                    figure = new LForm();
                    return figure;
                case 2:
                    figure = new Line();
                    return figure;
                case 3:
                    figure = new ReversedLForm();
                    return figure;
                case 4:
                    figure = new ReversedZForm();
                    return figure;
                case 5:
                    figure = new Square();
                    return figure;
                case 6:
                    figure = new TForm();
                    return figure;
                case 7:
                    figure = new ZForm();
                    return figure;
                default:
                    return figure;
            }
        }