Beispiel #1
0
        public IndexEncodingDefinition(IIndexEncoding indexEncoding, IList <int> paletteEncodingIndices)
        {
            ContractAssertions.IsNotNull(indexEncoding, nameof(indexEncoding));
            ContractAssertions.IsNotNull(paletteEncodingIndices, nameof(paletteEncodingIndices));

            IndexEncoding          = indexEncoding;
            PaletteEncodingIndices = paletteEncodingIndices;
        }
Beispiel #2
0
        public IIndexConfiguration With(IIndexEncoding encoding)
        {
            ContractAssertions.IsNotNull(encoding, nameof(encoding));

            IndexEncoding = encoding;
            ColorEncoding = null;

            return(_parent);
        }
Beispiel #3
0
        /// <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="remapPixels"></param>
        /// <param name="padSizeOptions"></param>
        /// <param name="shadeColorsFunc"></param>
        /// <param name="quantizer"></param>
        /// <param name="taskCount"></param>
        public ImageTranscoder(IIndexEncoding indexEncoding, IColorEncoding paletteEncoding,
                               CreatePixelRemapper remapPixels, IPadSizeOptionsBuild padSizeOptions, CreateShadedColor shadeColorsFunc,
                               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;

            _remapPixels     = remapPixels;
            _padSizeOptions  = padSizeOptions;
            _shadeColorsFunc = shadeColorsFunc;

            _taskCount = taskCount;
        }
 /// <summary>
 /// Creates a new instance of <see cref="IndexedImageSettings"/>.
 /// </summary>
 /// <param name="indexEncoding">The encoding used for the index data.</param>
 /// <param name="paletteEncoding">The encoding used for the colors in the palette.</param>
 /// <param name="width">The width of the image.</param>
 /// <param name="height">The height of the image.</param>
 public IndexedImageSettings(IIndexEncoding indexEncoding, IColorEncoding paletteEncoding, int width, int height) : base(paletteEncoding, width, height)
 {
     IndexEncoding = indexEncoding;
 }