/// <summary>
        /// Handles the Click event of OkButton object.
        /// </summary>
        private void okButton_Click(object sender, EventArgs e)
        {
            // update encoder
            string selectedEncoder = encoderNameComboBox.SelectedItem.ToString();

            switch (selectedEncoder)
            {
            case "PNG":
                PngEncoder pngEncoder = new PngEncoder();

                // set encoder settings
                PngEncoderSettings pngSettings = GetPngEncoderSettings(pngSettingsComboBox.SelectedItem.ToString());
                pngEncoder.Settings.FilterMethod     = pngSettings.FilterMethod;
                pngEncoder.Settings.CompressionLevel = pngSettings.CompressionLevel;

                EncoderSettings.EmbeddedImageEncoder = pngEncoder;
                break;

            case "JPEG":
                // set encoder settings
                JpegEncoderSettings jpegSettings = new JpegEncoderSettings();
                jpegSettings.Quality         = (int)jpegQualityNumericUpDown.Value;
                jpegSettings.SaveAsGrayscale = jpegGrayscaleCheckBox.Checked;

                JpegEncoder jpegEncoder = new JpegEncoder(jpegSettings);
                EncoderSettings.EmbeddedImageEncoder = jpegEncoder;
                break;
            }
        }
Пример #2
0
        /// <summary>
        /// Creates the encoder settings.
        /// </summary>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (EncoderSettings == null)
            {
                JpegEncoderSettings settings = new JpegEncoderSettings();
                settings.GenerateOptimalHuffmanTables = true;
                EncoderSettings = settings;
            }
        }