Beispiel #1
0
            public c_image enhance(c_image_enhancement_algorithm algorithm)
            {
                c_image enhanced_image = new c_image(data.Length + 2, data[0].Length + 2);

                for (int input_row = -1; input_row <= data.Length; input_row++)
                {
                    for (int input_column = -1; input_column <= data[0].Length; input_column++)
                    {
                        int value = enhance_pixel(input_row, input_column);

                        if (algorithm.is_set(value))
                        {
                            enhanced_image.data[input_row + 1][input_column + 1] = true;
                        }
                    }
                }

                if (background)
                {
                    enhanced_image.background = algorithm.is_set(0x1ff);
                }
                else
                {
                    enhanced_image.background = algorithm.is_set(0);
                }

                return(enhanced_image);
            }
Beispiel #2
0
        internal static (c_image_enhancement_algorithm, c_image) parse_input(
            string input,
            bool pretty)
        {
            c_input_reader input_reader = new c_input_reader(input);

            c_image_enhancement_algorithm algorithm = new c_image_enhancement_algorithm(input_reader.read_line());

            input_reader.read_line();

            c_image image = new c_image(input_reader);

            return(algorithm, image);
        }