public static void AdapterDemo() { GraphicsAdapter <Bitmap, Color> graphics = new BitmapConcreteAdapter(5, 5); graphics.LockBits(); for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { graphics.SetPixel(i, j, Color.Blue); } } graphics.UnlockBits(); Color[,] pixels = graphics.GetColorArray(); for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (j != 4) { Console.Write(pixels[i, j] + " | "); } else { Console.WriteLine(pixels[i, j]); } } } }
public void GetColorArrayTest() { BitmapConcreteAdapter adapter = new BitmapConcreteAdapter(10, 10); Bitmap picture1 = adapter.GetImage(); adapter.LockBits(); for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { adapter.SetPixel(i, j, Color.Red); } } adapter.UnlockBits(); Color[,] colorArray = adapter.GetColorArray(); Bitmap picture = adapter.GetImage(); for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { Assert.AreEqual(picture.GetPixel(i, j), colorArray[i, j]); } } }