示例#1
0
        private static Size TestComputeLevelSize(Size itemImageSize, int levelNumber)
        {
            var settings = new Settings
            {
                ItemImageSize = itemImageSize,
            };
            var dzi = new DeepZoomImage(settings);

            return(dzi.ComputeLevelSize(levelNumber));
        }
示例#2
0
 public void ComputeLevelSize_PowerOfTwo()
 {
     Assert.AreEqual(new Size(1024, 512), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 11));
     Assert.AreEqual(new Size(1024, 512), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 10));
     Assert.AreEqual(new Size(512, 256), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 9));
     Assert.AreEqual(new Size(256, 128), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 8));
     Assert.AreEqual(new Size(128, 64), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 7));
     Assert.AreEqual(new Size(64, 32), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 6));
     Assert.AreEqual(new Size(32, 16), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 5));
     Assert.AreEqual(new Size(16, 8), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 4));
     Assert.AreEqual(new Size(8, 4), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 3));
     Assert.AreEqual(new Size(4, 2), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 2));
     Assert.AreEqual(new Size(2, 1), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 1));
     Assert.AreEqual(new Size(1, 1), DeepZoomImage.ComputeLevelSize(PowerOfTwoSize, 0));
 }
示例#3
0
 public void ComputeLevelSize_SquareLogo()
 {
     Assert.AreEqual(new Size(700, 700), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 11));
     Assert.AreEqual(new Size(700, 700), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 10));
     Assert.AreEqual(new Size(350, 350), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 9));
     Assert.AreEqual(new Size(175, 175), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 8));
     Assert.AreEqual(new Size(88, 88), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 7));
     Assert.AreEqual(new Size(44, 44), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 6));
     Assert.AreEqual(new Size(22, 22), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 5));
     Assert.AreEqual(new Size(11, 11), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 4));
     Assert.AreEqual(new Size(6, 6), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 3));
     Assert.AreEqual(new Size(3, 3), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 2));
     Assert.AreEqual(new Size(2, 2), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 1));
     Assert.AreEqual(new Size(1, 1), DeepZoomImage.ComputeLevelSize(SquareLogoSize, 0));
 }
示例#4
0
 public void ComputeLevelSize_Typical()
 {
     Assert.AreEqual(new Size(1200, 1500), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 12));
     Assert.AreEqual(new Size(1200, 1500), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 11));
     Assert.AreEqual(new Size(600, 750), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 10));
     Assert.AreEqual(new Size(300, 375), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 9));
     Assert.AreEqual(new Size(150, 188), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 8));
     Assert.AreEqual(new Size(75, 94), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 7));
     Assert.AreEqual(new Size(38, 47), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 6));
     Assert.AreEqual(new Size(19, 24), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 5));
     Assert.AreEqual(new Size(10, 12), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 4));
     Assert.AreEqual(new Size(5, 6), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 3));
     Assert.AreEqual(new Size(3, 3), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 2));
     Assert.AreEqual(new Size(2, 2), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 1));
     Assert.AreEqual(new Size(1, 1), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 0));
 }
示例#5
0
        public void Slice_SquareLogo()
        {
            Assert.AreEqual(10, DeepZoomImage.DetermineMaximumLevel(SquareLogoSize));
            using (var sourceBitmap = new Bitmap(SquareLogoSize.Width, SquareLogoSize.Height))
            {
                var tester = new Action <int, IEnumerable <Size> > ((level, expectedSliceSizes) =>
                {
                    var levelSize        = DeepZoomImage.ComputeLevelSize(SquareLogoSize, level);
                    var tiles            = DeepZoomImage.ComputeTiles(levelSize, 254, 1);
                    var slices           = DeepZoomImage.Slice(sourceBitmap, tiles);
                    var actualSliceSizes = slices.Map(pair => pair.First.Size);
                    EnumerableExtensions.EnumerateSame(expectedSliceSizes, actualSliceSizes);
                }
                                                                    );

                tester(10, new[]
                {
                    new Size(255, 255), new Size(255, 256), new Size(255, 193),
                    new Size(256, 255), new Size(256, 256), new Size(256, 193),
                    new Size(193, 255), new Size(193, 256), new Size(193, 193),
                }
                       );
                tester(9, new[]
                {
                    new Size(255, 255), new Size(255, 97),
                    new Size(97, 255), new Size(97, 97),
                }
                       );
                tester(8, new[] { new Size(175, 175) });
                tester(7, new[] { new Size(88, 88) });
                tester(6, new[] { new Size(44, 44) });
                tester(5, new[] { new Size(22, 22) });
                tester(4, new[] { new Size(11, 11) });
                tester(3, new[] { new Size(6, 6) });
                tester(2, new[] { new Size(3, 3) });
                tester(1, new[] { new Size(2, 2) });
                tester(0, new[] { new Size(1, 1) });
            }
        }
 private static Size TestComputeLevelSize(Size itemImageSize, int levelNumber)
 {
     var settings = new Settings
     {
         ItemImageSize = itemImageSize,
     };
     var dzi = new DeepZoomImage (settings);
     return dzi.ComputeLevelSize (levelNumber);
 }
示例#7
0
 public void ComputeLevelSize_Base()
 {
     Assert.AreEqual(new Size(1, 1), DeepZoomImage.ComputeLevelSize(PortraitImageSize, 0));
 }