public ITransformation CreateFromFourPoints(Point[] points) { var translate = new TranslateTransformation(points[0]); var axisX = translate.ReverseTransform(points[1]); var axisY = translate.ReverseTransform(points[2]); var distort = new DistortTransformation(axisX, axisY); var arrow = distort.ReverseTransform( translate.ReverseTransform(points[3])); var perspective = new PerspectiveTransformation(arrow); return new CompositeTransformation(perspective, distort, translate); }
public ITransformation CreateFromFourPoints(Point[] points) { var translate = new TranslateTransformation(points[0]); var axisX = translate.ReverseTransform(points[1]); var axisY = translate.ReverseTransform(points[2]); var distort = new DistortTransformation(axisX, axisY); var arrow = distort.ReverseTransform( translate.ReverseTransform(points[3])); var perspective = new PerspectiveTransformation(arrow); return(new CompositeTransformation(perspective, distort, translate)); }