如何在c#中绘制

时间:2015-11-14 23:58:32

标签: c# system.drawing

我试图在C#windows Form Application上绘制YinYang符号。到目前为止,我画了一个大的外圈和两个内在的圈子。

我需要帮助绘制沿圆圈中间延伸的曲线部分

另外,我如何填充小圆圈和圆圈的另一半为黑色。

此外,无需使用按钮即可绘制(参见代码)。

enter image description here

以下是我的代码片段:

    private void button1_Click(object sender, EventArgs e)
    {
        Graphics myGraphics = base.CreateGraphics();
        Pen myPen = new Pen(Color.Black);
        SolidBrush mySolidBrush = new SolidBrush(Color.Black);
        myGraphics.DrawEllipse(myPen, 50,50, 150, 150);

        Graphics innerCircle = base.CreateGraphics();
        Pen myPen2 = new Pen(Color.Black);
        SolidBrush mySolidBrush2 = new SolidBrush(Color.Black);
        myGraphics.DrawEllipse(myPen, 118, 75, 20, 20);

        Graphics innerCircle2 = base.CreateGraphics();
        Pen myPen3 = new Pen(Color.Black);
        SolidBrush mySolidBrush3 = new SolidBrush(Color.Black);
        myGraphics.DrawEllipse(myPen, 118, 150, 20, 20);
    }

2 个答案:

答案 0 :(得分:5)

你不必绘制曲线,ying和yang的几何体是如此美丽,以至于它只允许你用圆圈绘制它。

enter image description here

对不起我的绘画技巧,但我想你知道这张照片的意思。你说

  

我画了一个大的外圈和两个内在的圈子。

所以在不考虑曲线的情况下再次使用这些知识

答案 1 :(得分:0)

有没有一种方法可以在c#中绘制面板,而不是重绘我绘制的内容?例如。当我使用refresh()或Invalidate()总是重绘它,但我需要的东西不是。 :(