Esempio n. 1
0
    void ProcessQueue(Region r)
    {
        int pi, x, y;

        while (li.Count > 0)
        {
            pi = li.Take();
            x  = pi % wi;
            y  = pi / wi;
            r.total++;
            AddToQueue(x - 1, y, r.label);
            AddToQueue(x + 1, y, r.label);
            AddToQueue(x, y - 1, r.label);
            AddToQueue(x, y + 1, r.label);
        }
        reg.Add(r);
    }
Esempio n. 2
0
        public void Test_SetResult()
        {
            using (MagickImage image = new MagickImage(MagickColors.Red, 10, 2))
            {
                using (PixelCollection pixels = image.GetPixels())
                {
                    QuantumType[] newPixels = new QuantumType[20 * pixels.Channels];
                    for (int i = 0; i < newPixels.Length; i++)
                    {
                        newPixels[i] = Quantum.Max;
                    }

                    pixels.Set(newPixels);
                }

                TestPixels(image, new MagickColor(Quantum.Max, Quantum.Max, Quantum.Max));
            }

            using (MagickImage image = new MagickImage(MagickColors.Black, 10, 2))
            {
                using (PixelCollection pixels = image.GetPixels())
                {
                    Assert.AreEqual(20, pixels.Count());

                    foreach (Pixel pixel in pixels.Take(10))
                    {
                        pixel.SetChannel(2, Quantum.Max);
                    }

                    foreach (Pixel pixel in pixels.Skip(10))
                    {
                        pixel.SetChannel(0, Quantum.Max);
                    }
                }

                TestPixels(image, MagickColors.Blue, MagickColors.Red);
            }
        }