我画一个形状 - 用直线 - 像这样:
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。
不知道该怎么做。谢谢你的帮助。
答案 0 :(得分:0)
您应该使用GraphicsPath并填写FillPath。
如果贝塞尔曲线,您可以混合直线,这可能足以完成您的任务。我认为你不能用贝塞尔曲线绘制圆弧,但你可以很好地接近。
试着让我们看看你得到了什么。
要近似圆圈,请查看此快速教程:http://www.whizkidtech.redprince.net/bezier/circle/kappa/