Esempio n. 1
0
        public void Load(Stream mystream, int SamplePercentage)
        {
            PalletPixelCount.Clear();

            Image <Rgba32> image = Image.Load <Rgba32>(mystream);

            var quantizer = new WuQuantizer <Rgba32>();

            var quantizationResults = quantizer.Quantize(image.Frames.RootFrame, PaletteCount);

            PalletPixelCount = quantizationResults.Pixels.GroupBy(P => P)
                               .Select(group => new KeyValuePair <Rgba32, int>(quantizationResults.Palette[group.Key], group.Count()))
                               .OrderByDescending(I => I.Value)
                               .ToList();
        }
Esempio n. 2
0
        public void WuQuantizerYieldsCorrectTransparentPixel <TPixel>(TestImageProvider <TPixel> provider, bool dither)
            where TPixel : struct, IPixel <TPixel>
        {
            using (Image <TPixel> image = provider.GetImage())
            {
                Assert.True(image[0, 0].Equals(default(TPixel)));

                IQuantizer <TPixel> quantizer = new WuQuantizer <TPixel> {
                    Dither = dither
                };

                foreach (ImageFrame <TPixel> frame in image.Frames)
                {
                    QuantizedImage <TPixel> quantized = quantizer.Quantize(frame, 256);

                    int index = this.GetTransparentIndex(quantized);
                    Assert.Equal(index, quantized.Pixels[0]);
                }
            }
        }