private static bool[,] ParseBitmapToPointsArray(PredefinedPatterns item) { var path = $"Resources/{Enum.GetName(typeof(PredefinedPatterns), item)}.bmp"; var embeddedProvider = new EmbeddedFileProvider(typeof(ConwaysGameOfLife).Assembly); using var reader = embeddedProvider.GetFileInfo(path).CreateReadStream(); using var bmp = new Bitmap(reader); var points = from bmpX in Enumerable.Range(0, bmp.Width) from bmpY in Enumerable.Range(0, bmp.Height) select new { x = bmpX, y = bmpY, pixel = bmp.GetPixel(bmpX, bmpY) }; var bmpPoints = new bool[bmp.Width, bmp.Height]; foreach (var point in points) { var isSet = !(point.pixel.R == 255 && point.pixel.G == 255 && point.pixel.B == 255); // Anything not white is set bmpPoints[point.x, point.y] = isSet; } return(bmpPoints); }
public static void RenderPredefinedPattern(IBoard <ConwayCellState> board, PredefinedPatterns item, (int x, int y) originPoint)