public IIndexConfiguration TranscodeWith(CreateIndexEncoding func) { ContractAssertions.IsNotNull(func, nameof(func)); _indexFunc = func; _colorFunc = null; return(this); }
/// <summary> /// Creates a new instance of <see cref="ImageTranscoder"/> for usage on indexed images. /// </summary> /// <param name="indexEncoding"></param> /// <param name="paletteEncoding"></param> /// <param name="swizzle"></param> /// <param name="paddedSizeFunc"></param> /// <param name="quantizer"></param> /// <param name="taskCount"></param> public ImageTranscoder(CreateIndexEncoding indexEncoding, CreatePaletteEncoding paletteEncoding, CreatePixelRemapper swizzle, CreatePaddedSize paddedSizeFunc, IQuantizer quantizer, int taskCount) { ContractAssertions.IsNotNull(indexEncoding, nameof(indexEncoding)); ContractAssertions.IsNotNull(quantizer, nameof(quantizer)); // HINT: paletteEncoding can be null due to EncodeIndexInternal handling it. _indexEncoding = indexEncoding; _paletteEncoding = paletteEncoding; _quantizer = quantizer; _swizzle = swizzle; _paddedSize = paddedSizeFunc; _taskCount = taskCount; }