private DownloadFile SaveImage(Image image, int?counter = null) { if (image == null) { throw new ArgumentException("image"); } var filename = ImageTools.CreateFilename( _command.FileName, counter.HasValue?counter.Value.ToString():_command.FileCounter, _command.IsPackage != null, (GlobalDictionaries.SaveAsValues)_command.SaveAs, _command.CompressionFormat.ImgFormat); var file = Path.GetTempFileName(); var tempfile = Path.GetFileName(file); ImageTools.CompressAndSaveImage(image, file, _command.CompressionFormat); var downloadFile = new DownloadFile(filename, tempfile); GlobalDictionaries.Scans.Add(downloadFile.TempFile); return(downloadFile); }