/// <summary> /// Initializes a new instance of the <see cref="OctreeFrameQuantizer{TPixel}"/> class. /// </summary> /// <param name="quantizer">The octree quantizer</param> /// <remarks> /// The Octree quantizer is a two pass algorithm. The initial pass sets up the Octree, /// the second pass quantizes a color based on the nodes in the tree /// </remarks> public OctreeFrameQuantizer(OctreeQuantizer quantizer) : this(quantizer, quantizer.MaxColors) { }
/// <summary> /// Initializes a new instance of the <see cref="OctreeFrameQuantizer{TPixel}"/> class. /// </summary> /// <param name="quantizer">The octree quantizer.</param> /// <param name="maxColors">The maximum number of colors to hold in the color palette.</param> /// <remarks> /// The Octree quantizer is a two pass algorithm. The initial pass sets up the Octree, /// the second pass quantizes a color based on the nodes in the tree /// </remarks> public OctreeFrameQuantizer(OctreeQuantizer quantizer, int maxColors) : base(quantizer, false) { this.colors = maxColors; this.octree = new Octree(ImageMaths.GetBitsNeededForColorDepth(this.colors).Clamp(1, 8)); }
/// <summary> /// Initializes a new instance of the <see cref="OctreeFrameQuantizer{TPixel}"/> class. /// </summary> /// <param name="configuration">The configuration which allows altering default behaviour or extending the library.</param> /// <param name="quantizer">The octree quantizer</param> /// <remarks> /// The Octree quantizer is a two pass algorithm. The initial pass sets up the Octree, /// the second pass quantizes a color based on the nodes in the tree /// </remarks> public OctreeFrameQuantizer(Configuration configuration, OctreeQuantizer quantizer) : this(configuration, quantizer, quantizer.MaxColors) { }