コード例 #1
0
        public void TryTransform_When_Nested()
        {
            var point     = new Point(-1, 3);
            var transform = new TransformGroup();

            transform.Children.Add(new TranslateTransform()
            {
                X = 1, Y = 9
            });
            transform.Children.Add(new MatrixTransform(MatrixTest.GetIncrementalMatrix(3, 1)));
            var nestedTransform = new TransformGroup();

            nestedTransform.Children.Add(new TranslateTransform()
            {
                X = -1, Y = -9
            });
            nestedTransform.Children.Add(new RotateTransform()
            {
                Angle = 25
            });
            transform.Children.Add(nestedTransform);
            var result = transform.TryTransform(point, out var outPoint);

            result.Should().BeTrue();
            outPoint.X.Should().BeInRange(29.810417, 29.810418);
            outPoint.Y.Should().BeInRange(92.240658, 92.240659);
        }
コード例 #2
0
        public void TryTransform()
        {
            var point     = new Point(1, 2);
            var transform = new TransformGroup();

            transform.Children.Add(new TranslateTransform()
            {
                X = 1, Y = 9
            });
            transform.Children.Add(new MatrixTransform(MatrixTest.GetIncrementalMatrix(3, 4)));
            var result = transform.TryTransform(point, out var outPoint);

            result.Should().BeTrue();
            outPoint.X.Should().Be(146);
            outPoint.Y.Should().Be(202);
        }
コード例 #3
0
 public override bool TryTransform(Point inPoint, out Point result)
 {
     return(transformGroup.TryTransform(inPoint, out result));
 }