Ejemplo n.º 1
0
        public void TestGetTouchPointerStyle()
        {
            var sourceImage          = CreateSourceImage();
            var visualZoomController = new VisualZoomController(sourceImage, new Size(60, 50));

            visualZoomController.ZoomPercent = 25;

            Assert.AreEqual(new Point(5, 6), visualZoomController.ImageLocation, "Precondition.");

            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(5, 6)), "Image is too small to shift.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(10, 10)), "Image is too small to shift.");

            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(0, 0)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(0, 10)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(59, 10)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(10, 0)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(10, 49)), "Outside of image.");

            visualZoomController.ZoomPercent = 100;

            Assert.IsTrue(visualZoomController.ZoomedImageSize.Width > visualZoomController.ImageBoxSize.Width, "Precondition.");
            Assert.IsTrue(visualZoomController.ZoomedImageSize.Height > visualZoomController.ImageBoxSize.Height, "Precondition.");

            Assert.AreEqual(VisualController.TouchPointerStyle.Shift, visualZoomController.GetTouchPointerStyle(new Point(0, 0)));
            Assert.AreEqual(VisualController.TouchPointerStyle.Shift, visualZoomController.GetTouchPointerStyle(new Point(10, 10)));

            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(-1, -1)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(-1, 10)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(visualZoomController.ZoomedImageSize.Width, 10)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(10, -1)), "Outside of image.");
            Assert.AreEqual(VisualController.TouchPointerStyle.None, visualZoomController.GetTouchPointerStyle(new Point(10, visualZoomController.ZoomedImageSize.Height)), "Outside of image.");
        }
Ejemplo n.º 2
0
        public void TestShift()
        {
            var sourceImage = new CodedImage {
                Size = new Size(200, 150)
            };

            int[] sourcePixels;
            using (sourceImage.LockPixels(out sourcePixels))
            {
                for (int i = 0; i < sourcePixels.Length; i++)
                {
                    sourcePixels[i] = i;
                }
            }

            var visualZoomController = new VisualZoomController(sourceImage, new Size(60, 50));

            visualZoomController.ZoomPercent = 100;

            visualZoomController.OnTouched(new Point(20, 20));
            visualZoomController.OnShift(new Point(40, 30));

            Assert.AreEqual(new Rectangle(0, 0, 60, 50), visualZoomController.VisualImageFrame, "Frame should not be moved beyond left-top edges.");

            visualZoomController.OnShift(new Point(30, 25));

            Assert.AreEqual(new Rectangle(10, 5, 60, 50), visualZoomController.VisualImageFrame, "Frame should be shifted on distance (10, 5).");
            AssertVisualImageFrameForZoom100(visualZoomController.VisualImage, visualZoomController.VisualImageFrame, sourceImage.Size);

            visualZoomController.OnShift(new Point(-200, -150));

            Assert.AreEqual(new Rectangle(140, 100, 60, 50), visualZoomController.VisualImageFrame, "Frame should not be moved beyond right-bottom edges.");
            AssertVisualImageFrameForZoom100(visualZoomController.VisualImage, visualZoomController.VisualImageFrame, sourceImage.Size);
        }
Ejemplo n.º 3
0
        void AssertInitialZoom(Size imageSize, Size imageBoxSize, int expectedZoom, Size expectedVisualSize)
        {
            var sourceImage = new CodedImage {
                Size = imageSize
            };
            var visualZoomController = new VisualZoomController(sourceImage, imageBoxSize);

            Assert.AreEqual(expectedZoom, visualZoomController.ZoomPercent);
            Assert.AreEqual(expectedVisualSize, visualZoomController.VisualImage.Size);
        }
Ejemplo n.º 4
0
        public void TestVisualZoomController()
        {
            var sourceImage          = CreateSourceImage();
            var visualZoomController = new VisualZoomController(sourceImage, new Size(60, 50));

            visualZoomController.ZoomPercent = 100;

            Assert.AreEqual(new Size(60, 50), visualZoomController.ImageBoxSize);
            Assert.AreEqual(100, visualZoomController.ZoomPercent, "Default zoom percent value.");
            Assert.AreEqual(ImageResampler.FilterType.Box, visualZoomController.UpscaleFilterType, "Default upscale filter.");
            Assert.AreEqual(ImageResampler.FilterType.Lanczos3, visualZoomController.DownscaleFilterType, "Default downscale filter.");
        }
Ejemplo n.º 5
0
        public void TestUpdateVisualImage()
        {
            var sourceImage          = CreateSourceImage();
            var visualZoomController = new VisualZoomController(sourceImage, new Size(60, 50));

            visualZoomController.ZoomPercent = 100;

            Assert.AreEqual(100, visualZoomController.ZoomPercent);
            Assert.AreEqual(sourceImage.Size, visualZoomController.ZoomedImageSize);
            Assert.AreEqual(new Rectangle(0, 0, 60, 50), visualZoomController.VisualImageFrame);
            Assert.AreEqual(new Point(0, 0), visualZoomController.ImageLocation);

            AssertVisualImageFrameForZoom100(visualZoomController.VisualImage, visualZoomController.VisualImageFrame, sourceImage.Size);
        }
Ejemplo n.º 6
0
        public void TestUpdateParameters()
        {
            var sourceImage          = CreateSourceImage();
            var visualZoomController = new VisualZoomController(sourceImage, new Size(60, 50));

            visualZoomController.ZoomPercent = 100;

            Assert.AreEqual(100, visualZoomController.ZoomPercent);
            Assert.AreEqual(sourceImage.Size, visualZoomController.ZoomedImageSize);
            Assert.AreEqual(new Rectangle(0, 0, 60, 50), visualZoomController.VisualImageFrame);
            Assert.AreEqual(new Point(0, 0), visualZoomController.ImageLocation);

            visualZoomController.ZoomPercent = 25;

            Assert.AreEqual(new Size(50, 37), visualZoomController.ZoomedImageSize);
            Assert.AreEqual(new Rectangle(0, 0, 50, 37), visualZoomController.VisualImageFrame);
            Assert.AreEqual(new Point(5, 6), visualZoomController.ImageLocation);

            visualZoomController.ZoomPercent = 150;

            Assert.AreEqual(new Size(300, 225), visualZoomController.ZoomedImageSize);
            Assert.AreEqual(new Rectangle(0, 0, 60, 50), visualZoomController.VisualImageFrame);
            Assert.AreEqual(new Point(0, 0), visualZoomController.ImageLocation);
        }