Пример #1
0
        public void TestSetTo()
        {
            var image = new ImageArray(new byte[] { 1, 2, 3, 4 }, 2, 2);

            var roi = image.ExtractRoi(new Int32Rect(0, 1, 2, 1));

            roi.SetTo(0);

            Assert.AreEqual(0, image.At(0, 1));
            Assert.AreEqual(0, image.At(1, 1));
        }
Пример #2
0
        public void TestGetPixels()
        {
            var blue  = new ImageArray(new byte[] { 1, 2, 3, 4 }, 2, 2);
            var green = new ImageArray(new byte[] { 5, 6, 7, 8 }, 2, 2);
            var red   = new ImageArray(new byte[] { 11, 12, 13, 14 }, 2, 2);

            var image = blue.Merge(green, red);

            var pixels = image.CopyPixels();

            Assert.AreEqual(12, pixels.Length);
            Assert.AreEqual(blue.At(0, 0), pixels[0]);
            Assert.AreEqual(green.At(0, 0), pixels[1]);
            Assert.AreEqual(red.At(0, 0), pixels[2]);
        }
Пример #3
0
        private byte[] Resize(ImageArray someImage, int newWidth, int newHeight)
        {
            byte[] newBytes = new byte[newWidth * newHeight];

            for (int column = 0; column < newWidth; column++)
            {
                for (int row = 0; row < newHeight; row++)
                {
                    var originalX = Math.Floor((someImage.Columns / (double)newWidth) * column);
                    var originalY = Math.Floor((someImage.Rows / (double)newHeight) * row);
                    newBytes[row * newWidth + column] = someImage.At((int)originalX, (int)originalY);
                }
            }

            return(newBytes);
        }