Esempio n. 1
0
        public void GetMaskImage075()
        {
            int pageCount = 0;

            using (DjvuDocument document = Util.GetTestDocument(75, out pageCount))
            {
                Util.VerifyDjvuDocument(pageCount, document);

                DjvuPage page = document.FirstPage as DjvuPage;
                Assert.NotNull(page);
                var testImagePath = Path.Combine(Util.RepoRoot, "artifacts", "data", "test075C.mask.png");

                DjvuImage djvuImage = page.Image as DjvuImage;
                using (Bitmap image = djvuImage.GetMaskImage(1))
                    using (Bitmap testImage = new Bitmap(testImagePath))
                    {
                        Assert.NotNull(image);
                        Assert.IsType <Bitmap>(image);

                        Assert.NotNull(testImage);

                        bool result = Util.CompareImagesForBinarySimilarity(testImage, image, 0.3, true, "Testing Djvu mask: test075C.png, ");

                        Assert.True(result);
                    }
            }
        }
Esempio n. 2
0
        private void PageDecodedHandler(DjvuPage page, TextLayerZone textLayer, CancellationToken ct)
        {
            if (ct.IsCancellationRequested)
            {
                return;
            }

            Page = page;

            _pageViewObserver = State.ZoomFactorObserver;
            _pageViewObserver.ZoomFactorChanging += HandleZoomFactorChanging;
            _pageViewObserver.ZoomFactorChanged  += HandleZoomFactorChanged;

            Width  = State.Width;
            Height = State.Height;

            CreateThumbnailSurface();

            if (!_pageViewObserver.IsZooming)
            {
                CreateContentSurface();
            }

            TextLayer = textLayer != null ? new[] { textLayer } : Array.Empty <TextLayerZone>();
        }
Esempio n. 3
0
        public void GetBgPixMap001()
        {
            var page = new DjvuPage();

            page.Height = 128;
            page.Width  = 128;
            Assert.Null(page.GetBgPixmap(new Graphics.Rectangle(), 1, 2.2, null));
        }
Esempio n. 4
0
        public void IsLegalBilevelTest003()
        {
            var page = new DjvuPage();

            page.Height = 128;
            page.Width  = 128;
            Assert.False(page.IsLegalBilevel());
        }
Esempio n. 5
0
        public void IsLegalCompundTest003()
        {
            var page = new DjvuPage();

            page.Height = 128;
            page.Width  = 128;
            Assert.False(page.IsLegalCompound());
        }
Esempio n. 6
0
        public void StencilTest002()
        {
            var page = new DjvuPage();

            page.Height = 128;
            page.Width  = 128;
            Assert.False(page.Stencil(null, new Graphics.Rectangle(), 1, 2.2));
        }
Esempio n. 7
0
        public void DisposeTest001()
        {
            DjvuPage page = new DjvuPage();

            page.Dispose();
            Assert.True(page.Disposed);
            // Ensure does not throw
            page.Dispose();
        }
Esempio n. 8
0
        private void BuildNavigation(DjvuDocument document)
        {
            List <Bookmark> bookmarks = new List <Bookmark>();

            for (int x = 0; x < document.Pages.Length; x++)
            {
                DjvuPage page    = document.Pages[x];
                int      pageNum = x + 1;
                bookmarks.Add(new Bookmark(document, null, string.Format("Page {0}", pageNum), string.Format("#{0}", pageNum), new Bookmark[0]));
            }

            _bookmarks = bookmarks.ToArray();
        }
Esempio n. 9
0
        public void Dispose()
        {
            if (_vsis == null)
            {
                return;
            }

            _vsis.RegionsInvalidated -= RegionsInvalidatedHandler;
            _vsis = null;
            _page = null;

            GC.SuppressFinalize(this);
        }
Esempio n. 10
0
        public VsisPageRenderer(DjvuPage page, Size pageViewSize)
        {
            _page = page;

            var size = FindBestSize(pageViewSize);

            _vsis = new CanvasVirtualImageSource(
                resourceCreator: CanvasDevice.GetSharedDevice(),
                width: (float)size.Width,
                height: (float)size.Height,
                dpi: DisplayInformation.GetForCurrentView().LogicalDpi,
                alphaMode: CanvasAlphaMode.Ignore);
            _vsis.RegionsInvalidated += RegionsInvalidatedHandler;
        }
Esempio n. 11
0
        public SisPageRenderer(DjvuPage page, Size pageViewSize)
        {
            _page = page;
            var rawPixelsPerViewPixel = DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;
            var width  = Math.Min(pageViewSize.Width, page.Width / rawPixelsPerViewPixel);
            var height = Math.Min(pageViewSize.Height, page.Height / rawPixelsPerViewPixel);

            Source = new CanvasImageSource(
                resourceCreator: CanvasDevice.GetSharedDevice(),
                width: (float)width,
                height: (float)height,
                dpi: DisplayInformation.GetForCurrentView().LogicalDpi,
                alphaMode: CanvasAlphaMode.Ignore);

            RenderRegion(new Rect(0, 0, width, height));

            _page = null;
        }
Esempio n. 12
0
 public void GetForegroundImage000()
 {
     using (var page = new DjvuPage())
     {
         page.Height = 128;
         page.Width  = 128;
         DjvuImage djvuImage = page.Image as DjvuImage;
         using (Bitmap bitmap = djvuImage.GetForegroundImage(1))
         {
             Assert.NotNull(bitmap);
             Assert.NotEqual(0, page.Width);
             Assert.Equal(page.Width, bitmap.Width);
             Assert.Equal(page.Height, bitmap.Height);
             Color pixel = bitmap.GetPixel(0, 0);
             Assert.Equal(0, pixel.R);
             Assert.Equal(0, pixel.G);
             Assert.Equal(0, pixel.B);
         }
     }
 }
Esempio n. 13
0
        public void GetTextImage000()
        {
            var page = new DjvuPage();

            page.Height = 128;
            page.Width  = 128;
            DjvuImage djvuImage = page.Image as DjvuImage;

            using (var bitmap = djvuImage.GetTextImage(1))
            {
                Assert.NotNull(bitmap);
                Assert.NotEqual(0, page.Width);
                Assert.Equal(page.Width, bitmap.Width);
                Assert.Equal(page.Height, bitmap.Height);
                var pixel = bitmap.GetPixel(0, 0);
                Assert.Equal(0, pixel.R);
                Assert.Equal(0, pixel.G);
                Assert.Equal(0, pixel.B);
            }
        }
Esempio n. 14
0
        private void CleanUp()
        {
            if (_pageViewObserver != null)
            {
                _pageViewObserver.ZoomFactorChanging -= HandleZoomFactorChanging;
                _pageViewObserver.ZoomFactorChanged  -= HandleZoomFactorChanged;
                _pageViewObserver = null;
            }

            if (_contentVsis != null)
            {
                _contentVsis.Dispose();
                _contentVsis = null;
            }

            _thumbnailSis = null;
            thumbnailContentCanvas.Background = null;
            contentCanvas.Background          = null;
            contentCanvas.Children.Clear();
            Page      = null;
            TextLayer = null;
        }
Esempio n. 15
0
        public void GetTextImage003()
        {
            int pageCount = 0;

            using (DjvuDocument document = Util.GetTestDocument(3, out pageCount))
            {
                Util.VerifyDjvuDocument(pageCount, document);

                DjvuPage page = document.FirstPage as DjvuPage;
                Assert.NotNull(page);

                DjvuImage djvuImage = page.Image as DjvuImage;
                using (var image = djvuImage.GetTextImage(1))
                {
                    Assert.NotNull(image);
                    Assert.IsType <Bitmap>(image);
#if DUMP_IMAGES
                    string file = Path.Combine(Util.ArtifactsDataPath, "dumps", "test003CMn.png");
                    using (FileStream stream = new FileStream(file, FileMode.Create))
                        image.Save(stream, ImageFormat.Png);
#endif
                }
            }
        }
Esempio n. 16
0
 public PageTextSearch(DjvuPage page, PageTextItem[] items)
     : base(page)
 {
     _textItems = items;
 }
Esempio n. 17
0
        public void StencilTest001()
        {
            var page = new DjvuPage();

            Assert.False(page.Stencil(null, new Graphics.Rectangle(), 1, 2.2));
        }
Esempio n. 18
0
        public void IsLegalCompundTest002()
        {
            var page = new DjvuPage();

            Assert.False(page.IsLegalCompound());
        }
Esempio n. 19
0
 public PageTextSearch(DjvuPage page, TextZone[] items)
     : base(page)
 {
     _textItems = items.Select(x => new PageTextItem(page, this, x)).ToArray();
 }
Esempio n. 20
0
        public void IsLegalBilevelTest002()
        {
            var page = new DjvuPage();

            Assert.False(page.IsLegalBilevel());
        }
Esempio n. 21
0
 public PageTextSearch(DjvuPage page, PageTextItem[] items)
     : base(page)
 {
     _textItems = items;
 }
Esempio n. 22
0
        public void GetBgPixMap000()
        {
            var page = new DjvuPage();

            Assert.Null(page.GetBgPixmap(new Graphics.Rectangle(), 1, 2.2, null));
        }
Esempio n. 23
0
 public PageTextItem(DjvuPage page, PageTextSearch parent, TextZone zone)
     : base(page)
 {
     _zone = zone;
     _parent = parent;
 }
Esempio n. 24
0
 public PageTextSearch(DjvuPage page, TextZone[] items)
     : base(page)
 {
     _textItems = items.Select(x => new PageTextItem(page, this, x)).ToArray();
 }
Esempio n. 25
0
 public PageTextItem(DjvuPage page, PageTextSearch parent, TextZone zone)
     : base(page)
 {
     _zone   = zone;
     _parent = parent;
 }
Esempio n. 26
0
 public PageText(DjvuPage page)
 {
     _page = page;
 }
Esempio n. 27
0
 public PageText(DjvuPage page)
 {
     _page = page;
 }
Esempio n. 28
0
 public DjvuPageVisuals(DjvuPage page)
 {
     _Page = page ?? throw new ArgumentNullException(nameof(page));
 }