public static void SetImageFormat(ref ImageFileFormat ziff, EImageFormat imgFormat)
        {
            switch (imgFormat)
            {
            case EImageFormat.BMP:
                ziff = new ImageFileFormatBmp();
                break;

            case EImageFormat.GIF:
                ziff = new ImageFileFormatGif();
                break;

            case EImageFormat.JPEG:
                ziff = new ImageFileFormatJpg();
                break;

            case EImageFormat.PNG:
                ziff = new ImageFileFormatPng();
                break;

            case EImageFormat.TIFF:
                ziff = new ImageFileFormatTif();
                break;
            }
        }
        private static string PrepareFilename(EImageFormat imageFormat, Image img)
        {
            string ext = "png";

            switch (imageFormat)
            {
                case EImageFormat.PNG:
                    ext = "png";
                    break;
                case EImageFormat.JPEG:
                    ext = "jpg";
                    break;
                case EImageFormat.GIF:
                    ext = "gif";
                    break;
                case EImageFormat.BMP:
                    ext = "bmp";
                    break;
                case EImageFormat.TIFF:
                    ext = "tif";
                    break;
            }

            NameParser parser = new NameParser { Picture = img };

            return string.Format("{0}.{1}", parser.Convert(Program.Settings.NameFormatPattern), ext);
        }
Example #3
0
        public static MemoryStream SaveImage(Image img, EImageFormat imageFormat, TaskSettings taskSettings)
        {
            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
            case EImageFormat.PNG:
                img.Save(stream, ImageFormat.Png);
                break;

            case EImageFormat.JPEG:
                img.SaveJPG(stream, taskSettings.ImageSettings.ImageJPEGQuality);
                break;

            case EImageFormat.GIF:
                img.SaveGIF(stream, taskSettings.ImageSettings.ImageGIFQuality);
                break;

            case EImageFormat.BMP:
                img.Save(stream, ImageFormat.Bmp);
                break;

            case EImageFormat.TIFF:
                img.Save(stream, ImageFormat.Tiff);
                break;
            }

            return(stream);
        }
        private static string PrepareFilename(EImageFormat imageFormat, Image img)
        {
            string ext = "png";

            switch (imageFormat)
            {
            case EImageFormat.PNG:
                ext = "png";
                break;

            case EImageFormat.JPEG:
                ext = "jpg";
                break;

            case EImageFormat.GIF:
                ext = "gif";
                break;

            case EImageFormat.BMP:
                ext = "bmp";
                break;

            case EImageFormat.TIFF:
                ext = "tif";
                break;
            }

            NameParser parser = new NameParser {
                Picture = img
            };

            return(string.Format("{0}.{1}", parser.Convert(Program.Settings.NameFormatPattern), ext));
        }
Example #5
0
        public static MemoryStream SaveImage(Image img, EImageFormat imageFormat, int jpegQuality = 90, GIFQuality gifQuality = GIFQuality.Default)
        {
            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
            case EImageFormat.PNG:
                img.Save(stream, ImageFormat.Png);
                break;

            case EImageFormat.JPEG:
                img.SaveJPG(stream, jpegQuality);
                break;

            case EImageFormat.GIF:
                img.SaveGIF(stream, gifQuality);
                break;

            case EImageFormat.BMP:
                img.Save(stream, ImageFormat.Bmp);
                break;

            case EImageFormat.TIFF:
                img.Save(stream, ImageFormat.Tiff);
                break;
            }

            return(stream);
        }
        public static MemoryStream SaveImage(this Image img, EImageFormat imageFormat)
        {
            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
                case EImageFormat.PNG:
                    img.Save(stream, ImageFormat.Png);
                    break;
                case EImageFormat.JPEG:
                    img.SaveJPG(stream, Program.Settings.ImageJPEGQuality, true);
                    break;
                case EImageFormat.GIF:
                    img.SaveGIF(stream, Program.Settings.ImageGIFQuality);
                    break;
                case EImageFormat.BMP:
                    img.Save(stream, ImageFormat.Bmp);
                    break;
                case EImageFormat.TIFF:
                    img.Save(stream, ImageFormat.Tiff);
                    break;
            }

            return stream;
        }
Example #7
0
        public static MemoryStream SaveImage(this Image img, Workflow workflow, EImageFormat imageFormat)
        {
            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
            case EImageFormat.PNG:
                DebugHelper.WriteLine("Performing PNG {0} {1} interlace", workflow.ImagePngCompression.GetDescription(), workflow.ImagePngInterlaced ? "with" : "without");
                FreeImageNETHelper.SavePng(img, stream, workflow.ImagePngCompression, workflow.ImagePngInterlaced);
                break;

            case EImageFormat.JPEG:
                img.SaveJPG(stream, workflow, true);
                break;

            case EImageFormat.GIF:
                // FreeImageNETHelper.SaveGif(img, stream);
                img.SaveGIF(stream, workflow.ImageGIFQuality);
                break;

            case EImageFormat.BMP:
                img.Save(stream, ImageFormat.Bmp);
                break;

            case EImageFormat.TIFF:
                DebugHelper.WriteLine("Performing TIFF {0} ", workflow.ImageTiffCompression.GetDescription());
                FreeImageNETHelper.SaveTiff(img, stream, workflow.ImageTiffCompression);
                break;
            }

            return(stream);
        }
        private static MemoryStream PrepareImage(Image img, out EImageFormat imageFormat)
        {
            if (Program.Settings.ImageAutoResize)
            {
                img = ResizeImage(img, Program.Settings.ImageScaleType);
            }

            MemoryStream stream = img.SaveImage(Program.Settings.ImageFormat);

            int sizeLimit = Program.Settings.ImageSizeLimit * 1000;

            if (Program.Settings.ImageFormat != Program.Settings.ImageFormat2 && sizeLimit > 0 && stream.Length > sizeLimit)
            {
                stream      = img.SaveImage(Program.Settings.ImageFormat2);
                imageFormat = Program.Settings.ImageFormat2;
            }
            else
            {
                imageFormat = Program.Settings.ImageFormat;
            }

            stream.Position = 0;

            return(stream);
        }
        public static string PrepareFilename(Workflow workflow, Image img, EImageFormat imageFormat, NameParser parser)
        {
            string ext = "png";

            switch (imageFormat)
            {
            case EImageFormat.PNG:
                ext = "png";
                break;

            case EImageFormat.JPEG:
                ext = "jpg";
                break;

            case EImageFormat.GIF:
                ext = "gif";
                break;

            case EImageFormat.BMP:
                ext = "bmp";
                break;

            case EImageFormat.TIFF:
                ext = "tif";
                break;
            }

            string pattern = workflow.ConfigFileNaming.EntireScreenPattern;

            switch (parser.Type)
            {
            case NameParserType.ActiveWindow:
                pattern = workflow.ConfigFileNaming.ActiveWindowPattern;
                break;

            default:
                pattern = workflow.ConfigFileNaming.EntireScreenPattern;
                break;
            }
            string fn = parser.Convert(pattern);

            if (Engine.ConfigWorkflow != null)
            {
                Engine.ConfigWorkflow.ConfigFileNaming.AutoIncrement = parser.AutoIncrementNumber; // issue 577; Engine.Workflow.AutoIncrement has to be updated
            }

            string fileName = string.Format("{0}.{1}", fn, ext);

            return(FileSystem.GetUniqueFileName(workflow, fileName));
        }
        public static string PrepareFilename(Workflow workflow, Image img, EImageFormat imageFormat, NameParser parser)
        {
            string ext = "png";

            switch (imageFormat)
            {
                case EImageFormat.PNG:
                    ext = "png";
                    break;
                case EImageFormat.JPEG:
                    ext = "jpg";
                    break;
                case EImageFormat.GIF:
                    ext = "gif";
                    break;
                case EImageFormat.BMP:
                    ext = "bmp";
                    break;
                case EImageFormat.TIFF:
                    ext = "tif";
                    break;
            }

            string pattern = workflow.ConfigFileNaming.EntireScreenPattern;
            switch (parser.Type)
            {
                case NameParserType.ActiveWindow:
                    pattern = workflow.ConfigFileNaming.ActiveWindowPattern;
                    break;
                default:
                    pattern = workflow.ConfigFileNaming.EntireScreenPattern;
                    break;
            }
            string fn = parser.Convert(pattern);
            if (Engine.ConfigWorkflow != null)
            {
                Engine.ConfigWorkflow.ConfigFileNaming.AutoIncrement = parser.AutoIncrementNumber; // issue 577; Engine.Workflow.AutoIncrement has to be updated
            }

            string fileName = string.Format("{0}.{1}", fn, ext);

            return FileSystem.GetUniqueFileName(workflow, fileName);
        }
Example #11
0
        public static MemoryStream SaveImageAsStream(Image img, EImageFormat imageFormat, int jpegQuality = 90, GIFQuality gifQuality = GIFQuality.Default)
        {
            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
            case EImageFormat.PNG:
                img.Save(stream, ImageFormat.Png);
                break;

            case EImageFormat.JPEG:
                try
                {
                    img = (Image)img.Clone();
                    img = ImageHelpers.FillBackground(img, Color.White);
                    img.SaveJPG(stream, jpegQuality);
                }
                finally
                {
                    if (img != null)
                    {
                        img.Dispose();
                    }
                }
                break;

            case EImageFormat.GIF:
                img.SaveGIF(stream, gifQuality);
                break;

            case EImageFormat.BMP:
                img.Save(stream, ImageFormat.Bmp);
                break;

            case EImageFormat.TIFF:
                img.Save(stream, ImageFormat.Tiff);
                break;
            }

            return(stream);
        }
        public static MemoryStream PrepareImage(Workflow wf, ZScreenOptions zo, Image img, out EImageFormat imageFormat,
            bool bConvert = true, bool bTargetFileSize = true)
        {
            imageFormat = wf.ImageFormat;
            MemoryStream stream = img.SaveImage(wf, wf.ImageFormat);

            if (bConvert)
            {
                long streamLength = stream.Length / 1024;
                int sizeLimit = zo.ConfigImageEffects.ImageSizeLimit * 1024;

                if (wf.ImageFormat != wf.ImageFormat2 && sizeLimit > 0 && stream.Length > sizeLimit)
                {
                    stream = img.SaveImage(wf, wf.ImageFormat2);

                    if (bTargetFileSize)
                    {
                        DebugHelper.WriteLine(ConvertImageString(streamLength, wf, stream));
                        while (stream.Length > sizeLimit && wf.ImageFormat2 == EImageFormat.JPEG)
                        {
                            if (wf.ImageJpegQuality == FreeImageJpegQualityType.JPEG_QUALITYBAD)
                            {
                                break;
                            }

                            wf.ImageJpegQuality = wf.ImageJpegQuality - 1;
                            stream = img.SaveImage(wf, EImageFormat.JPEG);
                            DebugHelper.WriteLine(ConvertImageString(streamLength, wf, stream));
                        }
                    }

                    imageFormat = wf.ImageFormat2;
                }
            }

            stream.Position = 0;

            return stream;
        }
Example #13
0
        public static MemoryStream SaveImageAsStream(Image img, EImageFormat imageFormat, PNGBitDepth pngBitDepth = PNGBitDepth.Automatic,
                                                     int jpegQuality = 90, GIFQuality gifQuality = GIFQuality.Default)
        {
            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
            case EImageFormat.PNG:
                SaveImageAsPNGStream(img, stream, pngBitDepth);

                if (Option.Settings.PNGStripColorSpaceInformation)
                {
                    using (stream)
                    {
                        return(PNGStripColorSpaceInformation(stream));
                    }
                }
                break;

            case EImageFormat.JPEG:
                SaveImageAsJPEGStream(img, stream, jpegQuality);
                break;

            case EImageFormat.GIF:
                img.SaveGIF(stream, gifQuality);
                break;

            case EImageFormat.BMP:
                img.Save(stream, ImageFormat.Bmp);
                break;

            case EImageFormat.TIFF:
                img.Save(stream, ImageFormat.Tiff);
                break;
            }

            return(stream);
        }
        public static MemoryStream PrepareImage(Workflow wf, ZScreenOptions zo, Image img, out EImageFormat imageFormat,
                                                bool bConvert = true, bool bTargetFileSize = true)
        {
            imageFormat = wf.ImageFormat;
            MemoryStream stream = img.SaveImage(wf, wf.ImageFormat);

            if (bConvert)
            {
                long streamLength = stream.Length / 1024;
                int  sizeLimit    = zo.ConfigImageEffects.ImageSizeLimit * 1024;

                if (wf.ImageFormat != wf.ImageFormat2 && sizeLimit > 0 && stream.Length > sizeLimit)
                {
                    stream = img.SaveImage(wf, wf.ImageFormat2);

                    if (bTargetFileSize)
                    {
                        DebugHelper.WriteLine(ConvertImageString(streamLength, wf, stream));
                        while (stream.Length > sizeLimit && wf.ImageFormat2 == EImageFormat.JPEG)
                        {
                            if (wf.ImageJpegQuality == FreeImageJpegQualityType.JPEG_QUALITYBAD)
                            {
                                break;
                            }

                            wf.ImageJpegQuality = wf.ImageJpegQuality - 1;
                            stream = img.SaveImage(wf, EImageFormat.JPEG);
                            DebugHelper.WriteLine(ConvertImageString(streamLength, wf, stream));
                        }
                    }

                    imageFormat = wf.ImageFormat2;
                }
            }

            stream.Position = 0;

            return(stream);
        }
Example #15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ScreenSaveName"></param>
        /// <param name="ScreenTheme"></param>
        /// <param name="TraceName"></param>
        /// <param name="Filename"></param>
        public void MemoryHandling(string FolderLocation, bool enableFileSaving, string Filename,
                                   EFileFormat FileFormat, bool enableScreenSaving, string ScreenSaveName,
                                   EImageFormat ImageFormat, EScreenTheme ScreenTheme, bool enableTraceName,
                                   ETraceName TraceName, ETraceFormat TraceFormat, bool enableMarkerTable, bool enablePeakTable)
        {
            if (enableFileSaving)
            {
                string PathOfDataFile = FolderLocation + Filename + DateTime.Now.ToString("_yyyy-MM-dd_HH.mm.ss") + "." + FileFormat;
            }

            if (enableScreenSaving)
            {
                string PathOfScreenshot = FolderLocation + ScreenSaveName + DateTime.Now.ToString("_yyyy-MM-dd_HH.mm.ss") + "." + ImageFormat;
                ScpiCommand(":MMEMory:STORe:SCReen {0}", ScreenSaveName);
                ScpiCommand("*OPC");
                ScpiCommand(":MMEMory:STORe:SCReen:THEMe {0}", ScreenTheme);
                ScpiCommand("*OPC");
            }

            string PathOfTrace = "";

            if (enableTraceName)
            {
                if (TraceFormat == ETraceFormat.csv)
                {
                    switch (TraceName)
                    {
                    case ETraceName.TRACE1:
                    case ETraceName.TRACE2:
                    case ETraceName.TRACE3:
                    case ETraceName.TRACE4:
                    case ETraceName.TRACE5:
                    case ETraceName.TRACE6:
                        PathOfTrace = FolderLocation + TraceName + DateTime.Now.ToString("_yyyy-MM-dd_HH.mm.ss") + ".csv";
                        ScpiCommand(":MMEMory:STORe:TRACe:DATA {0},{1}", TraceName, Filename);
                        ScpiCommand("*OPC");
                        break;

                    case ETraceName.ALL:
                        for (var i = 1; i <= 6; i++)
                        {
                            PathOfTrace = FolderLocation + TraceName + DateTime.Now.ToString("_yyyy-MM-dd_HH.mm.ss") + ".csv";
                            ScpiCommand(":MMEMory:STORe:TRACe:DATA {0},{1}", TraceName, Filename);
                            ScpiCommand("*OPC");
                        }
                        break;
                    }
                }
                else if (TraceFormat == ETraceFormat.trace)
                {
                    PathOfTrace = FolderLocation + TraceName + DateTime.Now.ToString("_yyyy-MM-dd_HH.mm.ss") + ".trace";
                    ScpiCommand(":MMEMory:STORe:TRACe {0},{1}", TraceName, Filename);
                    ScpiCommand("*OPC");
                }
            }

            if (enableMarkerTable)
            {
                string FilePathName = FolderLocation + "Marker_Table" + DateTime.Now.ToString("_yyyy-MM-dd_HH.mm.ss") + ".csv";
                ScpiCommand(":MMEMory:STORe:RESults:MTABle {0}", FilePathName);
            }
            if (enablePeakTable)
            {
                string FilePathName = FolderLocation + "Peak_Table" + TraceName + DateTime.Now.ToString("_yyyy-MM-dd_HH.mm.ss") + ".csv";
                ScpiCommand(":MMEMory:STORe:RESults:PTABle {0}", FilePathName);
            }

            // ScpiCommand(":MMEMory:STORe:RESults:SPECtrogram {0}", Filename);
        }
Example #16
0
        private static MemoryStream SaveImage(TaskSettings taskSettings, Image img, EImageFormat imageFormat)
        {
            CaptureHelpers.AddMetadata(img, PropertyTagSoftwareUsed, Program.ApplicationName);

            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
                case EImageFormat.PNG:
                    img.Save(stream, ImageFormat.Png);
                    break;
                case EImageFormat.JPEG:
                    img.SaveJPG(stream, taskSettings.ImageSettings.ImageJPEGQuality, true);
                    break;
                case EImageFormat.GIF:
                    img.SaveGIF(stream, taskSettings.ImageSettings.ImageGIFQuality);
                    break;
                case EImageFormat.BMP:
                    img.Save(stream, ImageFormat.Bmp);
                    break;
                case EImageFormat.TIFF:
                    img.Save(stream, ImageFormat.Tiff);
                    break;
            }

            return stream;
        }
        private static MemoryStream PrepareImage(Image img, out EImageFormat imageFormat)
        {
            if (Program.Settings.ImageAutoResize)
            {
                img = ResizeImage(img, Program.Settings.ImageScaleType);
            }

            MemoryStream stream = img.SaveImage(Program.Settings.ImageFormat);

            int sizeLimit = Program.Settings.ImageSizeLimit * 1000;
            if (Program.Settings.ImageFormat != Program.Settings.ImageFormat2 && sizeLimit > 0 && stream.Length > sizeLimit)
            {
                stream = img.SaveImage(Program.Settings.ImageFormat2);
                imageFormat = Program.Settings.ImageFormat2;
            }
            else
            {
                imageFormat = Program.Settings.ImageFormat;
            }

            stream.Position = 0;

            return stream;
        }
Example #18
0
 public static MemoryStream SaveImage(Image img, EImageFormat imageFormat, TaskSettings taskSettings)
 {
     return(SaveImage(img, imageFormat, taskSettings.ImageSettings.ImageJPEGQuality, taskSettings.ImageSettings.ImageGIFQuality));
 }
        public static MemoryStream SaveImage(this Image img, Workflow workflow, EImageFormat imageFormat)
        {
            MemoryStream stream = new MemoryStream();

            switch (imageFormat)
            {
                case EImageFormat.PNG:
                    DebugHelper.WriteLine("Performing PNG {0} {1} interlace", workflow.ImagePngCompression.GetDescription(), workflow.ImagePngInterlaced ? "with" : "without");
                    FreeImageNETHelper.SavePng(img, stream, workflow.ImagePngCompression, workflow.ImagePngInterlaced);
                    break;
                case EImageFormat.JPEG:
                    img.SaveJPG(stream, workflow, true);
                    break;
                case EImageFormat.GIF:
                    // FreeImageNETHelper.SaveGif(img, stream);
                    img.SaveGIF(stream, workflow.ImageGIFQuality);
                    break;
                case EImageFormat.BMP:
                    img.Save(stream, ImageFormat.Bmp);
                    break;
                case EImageFormat.TIFF:
                    DebugHelper.WriteLine("Performing TIFF {0} ", workflow.ImageTiffCompression.GetDescription());
                    FreeImageNETHelper.SaveTiff(img, stream, workflow.ImageTiffCompression);
                    break;
            }

            return stream;
        }
Example #20
0
 public static void SetImageFormat(ref ImageFileFormat ziff, EImageFormat imgFormat)
 {
     switch (imgFormat)
     {
         case EImageFormat.BMP:
             ziff = new ImageFileFormatBmp();
             break;
         case EImageFormat.GIF:
             ziff = new ImageFileFormatGif();
             break;
         case EImageFormat.JPEG:
             ziff = new ImageFileFormatJpg();
             break;
         case EImageFormat.PNG:
             ziff = new ImageFileFormatPng();
             break;
         case EImageFormat.TIFF:
             ziff = new ImageFileFormatTif();
             break;
     }
 }
        private void UpdateGuiQuality()
        {
            cboSwitchFormat.Enabled = nudSwitchAfter.Value > 0;

            tcQuality.TabPages.Clear();
            EImageFormat userImageFormat = (EImageFormat)cboFileFormat.SelectedIndex;

            switch (userImageFormat)
            {
            case EImageFormat.PNG:
                tcQuality.TabPages.Add(tpQualityPng);
                break;

            case EImageFormat.JPEG:
                tcQuality.TabPages.Add(tpQualityJpeg);
                break;

            case EImageFormat.GIF:
                tcQuality.TabPages.Add(tpQualityGif);
                break;

            case EImageFormat.TIFF:
                tcQuality.TabPages.Add(tpQualityTiff);
                break;
            }

            EImageFormat userImageFormat2 = (EImageFormat)cboSwitchFormat.SelectedIndex;

            switch (userImageFormat2)
            {
            case EImageFormat.PNG:
                if (!tcQuality.TabPages.Contains(tpQualityPng))
                {
                    tcQuality.TabPages.Add(tpQualityPng);
                }
                break;

            case EImageFormat.JPEG:
                if (!tcQuality.TabPages.Contains(tpQualityJpeg))
                {
                    tcQuality.TabPages.Add(tpQualityJpeg);
                }
                break;

            case EImageFormat.GIF:
                if (!tcQuality.TabPages.Contains(tpQualityGif))
                {
                    tcQuality.TabPages.Add(tpQualityGif);
                }
                break;

            case EImageFormat.TIFF:
                if (!tcQuality.TabPages.Contains(tpQualityTiff))
                {
                    tcQuality.TabPages.Add(tpQualityTiff);
                }
                break;
            }

            cboJpgQuality.Enabled = cboJpgSubSampling.Enabled = ((EImageFormat)cboFileFormat.SelectedIndex == EImageFormat.JPEG ||
                                                                 (EImageFormat)cboSwitchFormat.SelectedIndex == EImageFormat.JPEG) && nudSwitchAfter.Value > 0;

            cboGIFQuality.Enabled = ((EImageFormat)cboFileFormat.SelectedIndex == EImageFormat.GIF ||
                                     (EImageFormat)cboSwitchFormat.SelectedIndex == EImageFormat.GIF) && nudSwitchAfter.Value > 0;
        }