コード例 #1
0
 public void ShowAdvancedConfigurationOptions()
 {
     try
     {
         if (_printerConfig != null)
         {
             DicomPrinterAdvancedConfigurationComponent component = new DicomPrinterAdvancedConfigurationComponent(_printerConfig.FilmBox.AutomaticFilmSizeConfiguration);
             DialogBoxAction action = base.Host.DesktopWindow.ShowDialogBox(new SimpleComponentContainer(component), "Advanced Configuration");
             if (action == DialogBoxAction.Ok)
             {
                 AutomaticFilmSizeConfiguration objB = component.CreateAutomaticFilmSizeConfiguration();
                 AutomaticFilmSizeConfiguration objA = _printerConfig.FilmBox.AutomaticFilmSizeConfiguration;
                 if (!object.Equals(objA, objB))
                 {
                     _printerConfig.FilmBox.AutomaticFilmSizeConfiguration = objB;
                     this.Modified = true;
                 }
             }
         }
     }
     catch (Exception exception)
     {
         Platform.Log(Macro.Common.LogLevel.Debug, exception);
     }
 }
コード例 #2
0
        public static FilmConfigInformation GetFilmInformation(AutomaticFilmSizeConfiguration config, ISelectPresentationsInformation selectPresentation, int sizef)
        {
            List <FilmConfigInformation> list = new List <FilmConfigInformation>();
            float num  = 0f;
            float num2 = 0f;
            float num3 = 0f;
            float num4 = 0f;

            if (config != null)
            {
                num  = config.LeftMargin;
                num2 = config.RightMargin;
                num3 = config.TopMargin;
                num4 = config.BottomMargin;
                if (config.FilmSizes != null)
                {
                    IEnumerable <FilmConfigInformation> collection = FilmConfigInformation.FilmConfigInformationEnumerable(config.FilmSizes);
                    list.AddRange(collection);
                }
            }
            if (list.Count == 1)
            {
                return(list[0]);
            }
            if (list.Count == 0)
            {
                IEnumerable <FilmConfigInformation> enumerable2 = FilmConfigInformation.FilmConfigInformationEnumerable(Macro.Dicom.Iod.Modules.FilmSize.StandardFilmSizes);
                list.AddRange(enumerable2);
            }
            try
            {
                SizeF ef1 = FilmConfigInformation.GetPresentationImageSizeF(selectPresentation, sizef);
                SizeF a   = ef1 + new SizeF(num + num2, num3 + num4);
                FilmConfigInformation filmInfo = list[0];
                SizeF size = filmInfo.FilmSizeF;
                float num5 = FilmConfigInformation.verificationPresentationImageSizeF(a, size);
                for (int i = 1; i < list.Count; i++)
                {
                    FilmConfigInformation local3 = list[i];
                    float num7 = FilmConfigInformation.verificationPresentationImageSizeF(a, local3.FilmSizeF);
                    if (num7 < num5)
                    {
                        num5     = num7;
                        filmInfo = list[i];
                    }
                }
                return(filmInfo);
            }
            catch (Exception exception)
            {
                string message = exception.Message;
                Platform.Log(Macro.Common.LogLevel.Warn, exception, message, new object[0]);
                return(list[0]);
            }
        }
コード例 #3
0
        public AutomaticFilmSizeConfiguration CreateAutomaticFilmSizeConfiguration()
        {
            AutomaticFilmSizeConfiguration config = new AutomaticFilmSizeConfiguration();

            FilmSize[] filmsize = _listFileSize.ToArray();
            config.BottomMargin = this.VerticalMargins / 2f;
            config.TopMargin    = this.VerticalMargins / 2f;
            config.LeftMargin   = this.HorizontalMargins / 2f;
            config.RightMargin  = this.HorizontalMargins / 2f;
            return(config);
        }
コード例 #4
0
ファイル: FilmBox.cs プロジェクト: wangxueqzz/TestTools
 public FilmBox(PrinterImageDisplayFormat imageDisplayFormat, FilmOrientation filmOrientation, BorderDensity borderDensity, EmptyImageDensity emptyImageDensity, MagnificationType magnificationType, PrinterFilmSize filmSize, AutomaticFilmSizeConfiguration automaticFilmSizeConfiguration, string configurationInformation, RequestedResolution requestedResolution)
 {
     _imageDisplayFormat             = imageDisplayFormat;
     _filmOrientation                = filmOrientation;
     _borderDensity                  = borderDensity;
     _emptyImageDensity              = emptyImageDensity;
     _magnificationType              = magnificationType;
     _filmSize                       = filmSize;
     _automaticFilmSizeConfiguration = automaticFilmSizeConfiguration;
     _configurationInformation       = configurationInformation;
     _requestedResolution            = requestedResolution;
 }
コード例 #5
0
ファイル: FilmBox.cs プロジェクト: wangxueqzz/TestTools
 public FilmBox()
 {
     _imageDisplayFormat             = PrinterImageDisplayFormat.Default;
     _filmOrientation                = FilmOrientation.Portrait;
     _borderDensity                  = BorderDensity.None;
     _emptyImageDensity              = EmptyImageDensity.None;
     _magnificationType              = MagnificationType.None;
     _filmSize                       = PrinterFilmSize.Default;
     _automaticFilmSizeConfiguration = new AutomaticFilmSizeConfiguration();
     _configurationInformation       = null;
     _requestedResolution            = RequestedResolution.Standard;
 }
コード例 #6
0
 public DicomPrinterAdvancedConfigurationComponent(AutomaticFilmSizeConfiguration filmSizeConfiguration)
 {
     if (filmSizeConfiguration == null)
     {
         this._listFileSize = new List <FilmSize>(_standardFilmSizes);
     }
     else
     {
         FilmSize[] collection = filmSizeConfiguration.FilmSizes;
         this._listFileSize    = new List <FilmSize>(collection);
         this.HorizontalMargin = filmSizeConfiguration.LeftMargin + filmSizeConfiguration.RightMargin;
         this.VerticalMargin   = filmSizeConfiguration.TopMargin + filmSizeConfiguration.BottomMargin;
     }
 }
コード例 #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);
        }