public static void Check3s(FastBitmap bmp) { for (int x = 0; x < bmp.bmp.Width; x++) { for (int y = 0; y < bmp.bmp.Height; y++) { if (bmp.GetPixel(x, y).ToArgb() == Color.FromArgb(50, 50, 50).ToArgb()) { Color[] mask = bmp.Get3x3Mask(x, y); bool contains = false; foreach (Color c in mask) { if (c.ToArgb() == Color.White.ToArgb()) { contains = true; } } if (contains) { bmp.SetPixel(x, y, Color.FromArgb(0, 0, 255)); } } } } }
public static int GetValueOfPixel(FastBitmap bmp, int x, int y) { Color[] mask = bmp.Get3x3Mask(x, y); int value = 0; value += mask[1].ToArgb() == Color.White.ToArgb() ? 0 : 1; value += mask[2].ToArgb() == Color.White.ToArgb() ? 0 : 2; value += mask[5].ToArgb() == Color.White.ToArgb() ? 0 : 4; value += mask[8].ToArgb() == Color.White.ToArgb() ? 0 : 8; value += mask[7].ToArgb() == Color.White.ToArgb() ? 0 : 16; value += mask[6].ToArgb() == Color.White.ToArgb() ? 0 : 32; value += mask[3].ToArgb() == Color.White.ToArgb() ? 0 : 64; value += mask[0].ToArgb() == Color.White.ToArgb() ? 0 : 128; return(value); }
public static void Check2s(FastBitmap bmp) { for (int x = 0; x < bmp.bmp.Width; x++) { for (int y = 0; y < bmp.bmp.Height; y++) { if (bmp.GetPixel(x, y).ToArgb() != Color.White.ToArgb()) { Color[] mask = bmp.Get3x3Mask(x, y); if (mask[1].ToArgb() == Color.White.ToArgb() || mask[3].ToArgb() == Color.White.ToArgb() || mask[5].ToArgb() == Color.White.ToArgb() || mask[7].ToArgb() == Color.White.ToArgb()) { bmp.SetPixel(x, y, Color.FromArgb(0, 255, 0)); } } } } }