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)); }
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]); }
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); }