Example #1
0
 /// <summary>
 /// Initializes a new instance of the ThumbnailCreator class.
 /// </summary>
 /// <param name="outputFormat">Image format for thumbnail.</param>
 /// <param name="outputQuality">Image quality for thumbnail.</param>
 public ThumbnailCreator(OutputFormat outputFormat, OutputQuality outputQuality)
 {
     this.Init(outputFormat, outputQuality);
 }
Example #2
0
        /// <summary>
        /// Initializes private fields.
        /// </summary>
        /// <param name="outputFormat">Image format for thumbnail.</param>
        /// <param name="outputQuality">Image quality for thumbnail.</param>
        private void Init(OutputFormat outputFormat = OutputFormat.Png, OutputQuality outputQuality = OutputQuality.Normal)
        {
            switch (outputFormat) {
                case OutputFormat.Jpg:
                    _outputFileExtension = SupportedExtensions.JPG;
                    _bitmapEncoder = new JpegBitmapEncoder();
                    break;
                case OutputFormat.Png:
                    _outputFileExtension = SupportedExtensions.PNG;
                    _bitmapEncoder = new PngBitmapEncoder();
                    break;
                case OutputFormat.Gif:
                    _outputFileExtension = SupportedExtensions.GIF;
                    _bitmapEncoder = new GifBitmapEncoder();
                    break;
                default:
                    _outputFileExtension = Extensions.PNG;
                    _bitmapEncoder = new PngBitmapEncoder();
                    break;
            }
            _imageQualityRatio = 1.0;
            switch (outputQuality) {
                case OutputQuality.Low:
                    _imageQualityRatio /= 2.0;
                    break;
                case OutputQuality.Good:
                    _imageQualityRatio *= 2.0;
                    break;

                case OutputQuality.Super:
                    _imageQualityRatio *= 3.0;
                    break;
                default:
                    _imageQualityRatio *= 1.0;
                    break;
            }
        }