/// <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); }
/// <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; } }