Beispiel #1
0
        private void DrawCircle(Point Center, int Radius, Color C)
        {
            CircleDrawMethod DrawFunc = null;

            switch (cmbMethod.SelectedIndex)
            {
            case 0:
                DrawFunc = CircleCartCoord;
                break;

            case 1:
                DrawFunc = CirclePolarCoord;
                break;

            case 2:
                DrawFunc = CircleBresenham;
                break;

            case 3:
                DrawFunc = CircleMidPoint;
                break;

            case 4:
                DrawFunc = CircleLibraryFunc;
                break;
            }
            DrawFunc(Center, Radius, C);
        }
Beispiel #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            //br = new SolidBrush(BGColor);
            //G.FillRectangle(br, 0, 0, B.Width, B.Height);
            Point O1 = new Point(B.Width / 2, B.Height / 2);

            br = new SolidBrush(LineColor);
            G.FillRectangle(br, O.X - 1, O.Y - 1, 3, 3);
            int RMin = Convert.ToInt32(tbMinRadius.Text);
            int RMax = Convert.ToInt32(tbMaxRadius.Text);
            int N    = Convert.ToInt32(tbCircNumber.Text);
            int Step = (int)Math.Round((double)(RMax - RMin) / (double)(N));
            int RS   = RMin;

            if (rbCircle.Checked)
            {
                CircleDrawMethod DrawFunc = null;
                switch (cmbMethod.SelectedIndex)
                {
                case 0:
                    DrawFunc = CircleCartCoord;
                    break;

                case 1:
                    DrawFunc = CirclePolarCoord;
                    break;

                case 2:
                    DrawFunc = CircleBresenham;
                    break;

                case 3:
                    DrawFunc = CircleMidPoint;
                    break;

                case 4:
                    DrawFunc = CircleLibraryFunc;
                    break;
                }
                for (int i = 1; i <= N; i++)
                {
                    DrawFunc(O1, RS, LineColor);
                    RS += Step;
                }
            }
            else
            {
                EllipseDrawMethod DrawFunc = null;
                switch (cmbMethod.SelectedIndex)
                {
                case 0:
                    DrawFunc = EllipseCartCoord;
                    break;

                case 1:
                    DrawFunc = EllipsePolarCoord;
                    break;

                case 2:
                    DrawFunc = EllipseMidPoint;
                    break;

                case 3:
                    DrawFunc = EllipseLibraryFunc;
                    break;
                }
                for (int i = 1; i <= N; i++)
                {
                    DrawFunc(O1, RS, 100, LineColor);
                    RS += Step;
                }
            }
            pictBox.Refresh();
        }