Ejemplo n.º 1
0
        public void Column_Format_Landscape_Test()
        {
            var filmBox = new PrintScu.FilmBox(300, 600)
            {
                FilmOrientation    = FilmOrientation.Landscape,
                FilmSizeId         = FilmSize.Dimension_8in_x_10in,
                ImageDisplayFormat = ImageDisplayFormat.COL_1_2
            };

            var imageBox    = new PrintScu.ImageBox(filmBox, null);
            var filmBoxSize = filmBox.SizeInPixels;

            // Layout is Column 1,2, meaning 1 row in the left column and 2 rows in the right column
            imageBox.ImageBoxPosition = 1;
            var imageBoxSize = imageBox.SizeInPixels;

            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width / 2);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(10 * LengthInMillimeter.Inch / 2, _floatingPointDigits));

            imageBox.ImageBoxPosition = 2;
            imageBoxSize = imageBox.SizeInPixels;
            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width / 2);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height / 2);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(10 * LengthInMillimeter.Inch / 2, _floatingPointDigits));

            imageBox.ImageBoxPosition = 3;
            imageBoxSize = imageBox.SizeInPixels;
            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width / 2);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height / 2);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(10 * LengthInMillimeter.Inch / 2, _floatingPointDigits));
        }
Ejemplo n.º 2
0
        public void Standard_Format_Portrait_Test()
        {
            var filmBox = new PrintScu.FilmBox(300, 600)
            {
                FilmOrientation    = FilmOrientation.Portrait,
                FilmSizeId         = FilmSize.Dimension_8in_x_10in,
                ImageDisplayFormat = ImageDisplayFormat.Standard_2x4
            };

            var imageBox    = new PrintScu.ImageBox(filmBox, null);
            var filmBoxSize = filmBox.SizeInPixels;

            // Layout is 2x4, meaning 2 columns, 4 rows.
            // ImageBoxes are ordered top->bottom, left->right
            imageBox.ImageBoxPosition = 1;
            var imageBoxSize = imageBox.SizeInPixels;

            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width / 2);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height / 4);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(8 * LengthInMillimeter.Inch / 2, _floatingPointDigits));

            imageBox.ImageBoxPosition = 8;
            imageBoxSize = imageBox.SizeInPixels;
            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width / 2);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height / 4);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(8 * LengthInMillimeter.Inch / 2, _floatingPointDigits));
        }
Ejemplo n.º 3
0
        public void Row_Format_Portrait_Test()
        {
            var filmBox = new PrintScu.FilmBox(300, 600)
            {
                FilmOrientation    = FilmOrientation.Portrait,
                FilmSizeId         = FilmSize.Dimension_8in_x_10in,
                ImageDisplayFormat = ImageDisplayFormat.Row_1_2
            };

            var imageBox    = new PrintScu.ImageBox(filmBox, null);
            var filmBoxSize = filmBox.SizeInPixels;

            // Layout is Row 1,2, meaning 1 column in top row and 2 columns in bottom row
            imageBox.ImageBoxPosition = 1;
            var imageBoxSize = imageBox.SizeInPixels;

            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height / 2);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(8 * LengthInMillimeter.Inch, _floatingPointDigits));

            imageBox.ImageBoxPosition = 2;
            imageBoxSize = imageBox.SizeInPixels;
            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width / 2);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height / 2);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(8 * LengthInMillimeter.Inch / 2, _floatingPointDigits));

            imageBox.ImageBoxPosition = 3;
            imageBoxSize = imageBox.SizeInPixels;
            Assert.AreEqual(imageBoxSize.Width, filmBoxSize.Width / 2);
            Assert.AreEqual(imageBoxSize.Height, filmBoxSize.Height / 2);
            Assert.AreEqual(Math.Round(imageBox.PhysicalWidth, _floatingPointDigits), Math.Round(8 * LengthInMillimeter.Inch / 2, _floatingPointDigits));
        }
Ejemplo n.º 4
0
        public void SizeInPixels_Landscape_Test()
        {
            var filmBox = new PrintScu.FilmBox(300, 600)
            {
                FilmSizeId      = FilmSize.Dimension_8in_x_10in,
                FilmOrientation = FilmOrientation.Landscape
            };

            Assert.AreEqual(filmBox.FilmOrientation, FilmOrientation.Landscape);
            Assert.AreEqual(filmBox.SizeInPixels.Width, 10 * 300);
            Assert.AreEqual(filmBox.SizeInPixels.Height, 8 * 300);
        }
Ejemplo n.º 5
0
        public void FilmDPI_Test()
        {
            var filmBox = new PrintScu.FilmBox(300, 600);

            Assert.AreEqual(filmBox.RequestedResolutionId, RequestedResolution.None);

            // Default DPI is used when RequestedResolution.None.
            Assert.AreEqual(filmBox.FilmDPI, 300);

            filmBox.RequestedResolutionId = RequestedResolution.High;
            Assert.AreEqual(filmBox.FilmDPI, 600);

            filmBox.RequestedResolutionId = RequestedResolution.Standard;
            Assert.AreEqual(filmBox.FilmDPI, 300);
        }
Ejemplo n.º 6
0
        public void SizeInPixels_Portrait_Test()
        {
            var filmBox = new PrintScu.FilmBox(300, 600)
            {
                FilmSizeId      = FilmSize.Dimension_8in_x_10in,
                FilmOrientation = FilmOrientation.Portrait
            };

            Assert.AreEqual(filmBox.FilmOrientation, FilmOrientation.Portrait);
            Assert.AreEqual(filmBox.SizeInPixels.Width, 8 * 300);
            Assert.AreEqual(filmBox.SizeInPixels.Height, 10 * 300);

            // Portrait orientation is used, even if FilmOrientation.None.
            filmBox.FilmOrientation = FilmOrientation.None;
            Assert.AreEqual(filmBox.FilmOrientation, FilmOrientation.None);
            Assert.AreEqual(filmBox.SizeInPixels.Width, 8 * 300);
            Assert.AreEqual(filmBox.SizeInPixels.Height, 10 * 300);
        }
Ejemplo n.º 7
0
        private static PrintScu.FilmBox GetFilmBox(DicomPrinter.Configuration config, IList <PrintScu.IPrintItem> itemList)
        {
            // This item is obfuscated and can not be translated.
            PrintScu.FilmBox box;
            if (config.FilmBox.FilmSize != PrinterFilmSize.AutoSelect)
            {
                box = new PrintScu.FilmBox(config.StandardResolutionDPI, config.HighResolutionDPI)
                {
                    FilmSizeId         = config.FilmBox.FilmSize.ToFilmSize(),
                    ImageDisplayFormat = config.FilmBox.ImageDisplayFormat.ToImageDisplayFormat()
                };

                if (config.FilmBox.FilmOrientation != FilmOrientation.None)
                {
                    box.FilmOrientation = config.FilmBox.FilmOrientation;
                }

                if (config.FilmBox.BorderDensity != BorderDensity.None)
                {
                    box.BorderDensity = config.FilmBox.BorderDensity;
                }

                if (config.FilmBox.EmptyImageDensity != EmptyImageDensity.None)
                {
                    box.EmptyImageDensity = config.FilmBox.EmptyImageDensity;
                }

                if (config.FilmBox.MagnificationType != MagnificationType.None)
                {
                    box.MagnificationType = config.FilmBox.MagnificationType;
                }

                if (!string.IsNullOrEmpty(config.FilmBox.ConfigurationInformation))
                {
                    box.ConfigurationInformation = config.FilmBox.ConfigurationInformation;
                }

                if (config.FilmBox.RequestedResolution != RequestedResolution.None)
                {
                    box.RequestedResolutionId = config.FilmBox.RequestedResolution;
                }
            }
            else
            {
                box = new PrintScu.FilmBox(config.StandardResolutionDPI, config.HighResolutionDPI)
                {
                    FilmSizeId         = config.FilmBox.FilmSize.ToFilmSize(),
                    ImageDisplayFormat = config.FilmBox.ImageDisplayFormat.ToImageDisplayFormat()
                };

                if (config.FilmBox.RequestedResolution == RequestedResolution.High)
                {
                    int numberOfCopies = config.Session.NumberOfCopies;
                    AutomaticFilmSizeConfiguration automaticFilmSizeConfiguration = config.FilmBox.AutomaticFilmSizeConfiguration;
                    PrintScu.IPrintItem            printItem             = DicomPrintSession.GetT <PrintScu.IPrintItem>(itemList);
                    FilmConfigInformation          fileConfigInformation = FilmConfigInformation.GetFilmInformation(automaticFilmSizeConfiguration, (ISelectPresentationsInformation)printItem, numberOfCopies);
                    box.ImageDisplayFormat = ImageDisplayFormat.Standard_1x1;
                    box.FilmSizeId         = fileConfigInformation.FilmSize;
                    box.FilmOrientation    = fileConfigInformation.FilmOrientation;
                }
            }
            return(box);
        }