Example #1
0
        private static BitmapEncoder CreateEncoder(ImageType imageType, ImageOptions imageOptions)
        {
            imageOptions = imageOptions ?? ImageOptions.Default;

            switch (imageType)
            {
                case ImageType.Png:
                    return new PngBitmapEncoder();
                case ImageType.Jpeg:
                    return new JpegBitmapEncoder
                    {
                        QualityLevel = imageOptions.JpegQualityLevel
                    };
                case ImageType.Tiff:
                    return new TiffBitmapEncoder
                    {
                        Compression = (System.Windows.Media.Imaging.TiffCompressOption)imageOptions.TiffCompression
                    };
                case ImageType.Bmp:
                    return new BmpBitmapEncoder();
                case ImageType.Gif:
                    return new GifBitmapEncoder();
                default:
                    throw new InvalidOperationException();
            }
        }