コード例 #1
0
    public XGraphicsPath Surrond(double distance)
    {
        var path = new XGraphicsPath();
        var O    = FindO();

        foreach (var curve in _curves)
        {
            var points = new XPoint[curve.Length];
            for (var i = 0; i < curve.Length; i++)
            {
                var point = curve[i];
                var x     = FindPlace(point.X, O.X, distance);
                var y     = FindPlace(point.Y, O.Y, distance);
                points[i] = new XPoint(x, y);
            }
            path.AddCurve(points);
        }
        foreach (var line in _lines)
        {
            var ax = FindPlace(line.Item1.X, O.X, distance);
            var ay = FindPlace(line.Item1.Y, O.Y, distance);
            var a  = new XPoint(ax, ay);
            var bx = FindPlace(line.Item2.X, O.X, distance);
            var by = FindPlace(line.Item2.Y, O.Y, distance);
            var b  = new XPoint(bx, by);
            path.AddLine(a, b);
        }
        path.CloseFigure();
        return(path);
    }
コード例 #2
0
    public XGraphicsPath DrawPath()
    {
        var curvepoints = new XPoint[] { A, E, D };
        var path        = new XGraphicsPath();

        path.AddCurve(curvepoints);
        path.AddLine(D, C);
        path.AddLine(C, B);
        path.CloseFigure();
        return(path);
    }