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); } }
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]); } }
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); }
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; }
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; }
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; } }
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); }