我画的形状--直线--如下所示:
PointF [] BCArray = new PointF[8];
double[,] BC = new double[,]
{
{0, 0},
{0, 77},
{45, 77},
{45, 12},
{32, 12},
{32, 27},
{15, 27},
{15, 0},
};
for (int i = 0; i < BC.Length / 2; i++)
{
double X = BC[i, 0];
double Y = BC[i, 1];
PointF buildpoint = new PointF((float)plusCD(X), (float)plusCD(Y));
BCArray.SetValue(buildpoint, i);
}
System.Drawing.Drawing2D.HatchBrush pattern = new System.Drawing.Drawing2D.HatchBrush(System.Drawing.Drawing2D.HatchStyle.BackwardDiagonal, Color.Black, Color.White);
g.FillPolygon(pattern, BCArray);在第一点(0,0)和第二个(0,77)之间,我需要画一个弧线。这条线从0,0到0,10,然后在半径为40的圆弧中,直到0,50,然后继续,直线到0.77。
不知道该怎么做。谢谢你的帮助。
发布于 2014-02-05 16:04:15
您应该使用GraphicsPath并使用FillPath填充它。
在那里,你可以混合直线,如果贝塞尔曲线,这可能足以你的任务。我不认为你真的可以用bezier曲线画一个圆弧,但是你可以很好地近似。
让我们看看你得到了什么。
要近似于圆圈,请看下面的快速教程:http://www.whizkidtech.redprince.net/bezier/circle/kappa/
https://stackoverflow.com/questions/21581997
复制相似问题