删除圆圈中间的点

时间:2018-10-02 01:33:35

标签: c# winforms graphics

我正在一个项目上,用户可以在其中绘制形状并对其进行修改(大小,描边等)。然后我遇到一个问题,我试图使笔触的粗细只是为了在内部进行调整,所以我执行了以下代码:

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

它在精确的中心显示点。图片框后消失。Refresh()/ Invalidate();但我不想要它。您认为这里发生了什么?

随时询问您想知道的代码部分。我刚刚介绍了绘图部分。

0 个答案:

没有答案