Example #1
0
        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);
        }
Example #2
0
 public static void RenderPredefinedPattern(IBoard <ConwayCellState> board, PredefinedPatterns item, (int x, int y) originPoint)