Beispiel #1
0
        public IImageConfiguration Clone()
        {
            var config = new ImageConfiguration();

            config.PadSize.With(options => options.To(size => _padSizeConfiguration.Options.Build(size)));

            if (_taskCount != Environment.ProcessorCount)
            {
                config.WithDegreeOfParallelism(_taskCount);
            }
            if (_remapPixelsConfiguration.Delegate != null)
            {
                config.RemapPixels.With(_remapPixelsConfiguration.Delegate);
            }
            if (_shadeColorsConfiguration.Delegate != null)
            {
                config.ShadeColors.With(_shadeColorsConfiguration.Delegate);
            }
            if (_quantizationConfiguration != null)
            {
                config.SetQuantizationConfiguration(_quantizationConfiguration);
            }

            if (_transcodeConfiguration.ColorEncoding != null)
            {
                return(config.Transcode.With(_transcodeConfiguration.ColorEncoding));
            }

            if (_transcodeConfiguration.IndexEncoding == null)
            {
                return(config);
            }

            var indexConfig = config.Transcode.With(_transcodeConfiguration.IndexEncoding);

            return(_transcodePaletteConfiguration.PaletteEncoding != null?
                   indexConfig.TranscodePalette.With(_transcodePaletteConfiguration.PaletteEncoding) :
                       config);
        }
Beispiel #2
0
        public IImageConfiguration Clone()
        {
            var config = new ImageConfiguration();

            if (_taskCount != Environment.ProcessorCount)
            {
                config.WithTaskCount(_taskCount);
            }
            if (_paddedSizeFunc != null)
            {
                config.PadSizeWith(_paddedSizeFunc);
            }
            if (_swizzleFunc != null)
            {
                config.RemapPixelsWith(_swizzleFunc);
            }
            if (_quantizationConfiguration != null)
            {
                config.SetQuantizationConfiguration(_quantizationConfiguration);
            }

            if (_colorFunc != null)
            {
                return(config.TranscodeWith(_colorFunc));
            }

            if (_indexFunc == null)
            {
                return(config);
            }

            var indexConfig = config.TranscodeWith(_indexFunc);

            return(_paletteFunc != null?
                   indexConfig.TranscodePaletteWith(_paletteFunc) :
                       config);
        }