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