Я работаю над проектом, в котором пользователь может рисовать фигуры и изменять их (размер, обводка и т. Д.).Тогда я столкнулся с проблемой, я попытался сделать толщину обводки просто для регулировки внутри, поэтому я сделал этот код:
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);
}
Но всякий раз, когда я сохраняю его (Сохранить в коллекции для перерисовки).Он делает что-то вроде этого:
Показывает точку в точном центре.Он исчезает после picturebox.Refresh () / Invalidate ();но я не хочу этого в первую очередь.Как вы думаете, что здесь происходит?
Не стесняйтесь спрашивать части кода, которые вы хотите знать.Я только что представил чертежную часть.