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);
 }
예제 #2
0
        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));
        }