引路蜂二维图形库也提供了对一般路径的支持,可以同过线段,二次曲线,三次曲线组成路径,也可以根据SVG指令来定义路径。
private void Paths() { AffineTransform mat1; /* The path. */ Path path; /** Colors */ Color redColor = new Color(0x96ff0000, true); Color greenColor = new Color(0xff00ff00, false); Color blueColor = new Color(0x750000ff, true); string pathdata = "M 60 20 Q -40 70 60 120 Q 160 70 60 20 z"; mat1 = new AffineTransform(); mat1.Translate(30, 40); mat1.Rotate(-30 * Math.PI / 180.0); path = Path.FromString(pathdata); //Clear the canvas with white color. graphics2D.Reset(); graphics2D.Clear(Color.White); graphics2D.AffineTransform = new AffineTransform(); SolidBrush brush = new SolidBrush(greenColor); graphics2D.Fill(brush, path); graphics2D.AffineTransform = mat1; brush = new SolidBrush(blueColor); Pen pen = new Pen(redColor, 5); graphics2D.SetPenAndBrush(pen, brush); graphics2D.Draw(null, path); graphics2D.Fill(null, path); }