/** * 添加构造方法 */ public PrintJob(PrintOptions options) { FilmSession = new FilmSession(DicomUID.BasicFilmSessionSOPClass) { FilmSessionLabel = options.JobLabel, MediumType = options.MediumType.ToStringEx(), NumberOfCopies = options.PrintNumberOfCopies, IsColor = options.ColorType == PrintColorType.Color, FilmDestination = options.FilmDestination, PrintPriority = options.Priority.ToStringEx() }; }
/** * 添加重载函数 */ public FilmBox StartFilmBox(PrintOptions options) { FilmBox filmBox = new FilmBox(FilmSession, null, DicomTransferSyntax.ExplicitVRLittleEndian) { ImageDisplayFormat = options.ImageDisplayFormat, FilmOrientation = options.Orientation.ToStringEx(), FilmSizeID = options.FilmSize.ToStringEx(), MagnificationType = options.MagnificationType.ToStringEx(), BorderDensity = options.BorderDensity.ToStringEx(), EmptyImageDensity = options.EmptyImageDensity.ToStringEx(), MinDensity = 0, MaxDensity = 256, }; filmBox.Initialize(); FilmSession.BasicFilmBoxes.Add(filmBox); _currentFilmBox = filmBox; return(filmBox); }
public async Task PrintImagesAsync(string serverIp, int serverPort, string serverAET, string localAET, PrintOptions options, IEnumerable <Bitmap> images) { PrintJob printJob = new PrintJob(options) { RemoteAddress = serverIp, RemotePort = serverPort, CallingAE = localAET, CalledAE = serverAET }; foreach (Bitmap image in images) { printJob.StartFilmBox(options); printJob.AddImage(image, 0); printJob.EndFilmBox(); } await printJob.Print(); }