Удалить точку в середине круга - PullRequest
0 голосов
/ 02 октября 2018

Я работаю над проектом, в котором пользователь может рисовать фигуры и изменять их (размер, обводка и т. Д.).Тогда я столкнулся с проблемой, я попытался сделать толщину обводки просто для регулировки внутри, поэтому я сделал этот код:

public void DrawCircle(Color c, int stroke, float w, float h, Graphics g)
    {
        this.width = w;
        this.height = h;
        this.strokeThickness = stroke;
        this.type = ShapeType.circle;


        w -= strokeThickness;
        h -= strokeThickness;
        PointF points = new PointF();
        //Centering the Shape
        points.X = (float)((center.X - (w/ 2)));
        points.Y = (float)((center.Y - (h / 2)));

        //Aliasing for smooth graphics when drawing and resizing
        g.InterpolationMode = InterpolationMode.High;

        //Drawing
        RectangleF rect = new RectangleF(points.X, points.Y, w, h);
        g.DrawEllipse(new Pen(c, stroke), rect);

    }

Но всякий раз, когда я сохраняю его (Сохранить в коллекции для перерисовки).Он делает что-то вроде этого:

enter image description here

Показывает точку в точном центре.Он исчезает после picturebox.Refresh () / Invalidate ();но я не хочу этого в первую очередь.Как вы думаете, что здесь происходит?

Не стесняйтесь спрашивать части кода, которые вы хотите знать.Я только что представил чертежную часть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...