Написать программу, которая заливает определенным цветом замкнутую область в BMP файле.
Текстовый файл с именем файла, точкой применения заливки и цветом заливки.
1) Имя файла задается первой строкой файла
2) Точка задается двумя координатами: x и y, записанными во второй строке. Выбор начала координат остается на усмотрение студента
3) Цвет задается тремя компонентами (RGB) в диапазоне от 0 до 255, записанными в третьей строке
Пример:
test.bmp
10 10
0 255 10
output.bmp
Файл может содержать пустые и невалидные строки. Программа должна корректно это обрабатывать.
Залить определенным цветом замкнутую область в BMP файле. Имя файла, цвет заливки и точка, с которой начинается заливка, задается пользователем (текстовый файл)
Для работы с форматом BMP можно использовать одну из header-only библиотек.
Необходимо корректно обрабатывать ситуации с некорректно заданными цветами (приведение в диапазон 0 .. 255, 0 - значение по умолчанию).
Передачу имени входного файла, реализовать через аргументы командной строки.
Файл BMP c именем output.bmp
, в котором заданная область залита
Необходимо написать набор тестов, охватывающий варианты расположения начальной точки: внутри замкнутой области и снаружи, присутствие замкнутых областей, их отсутствие и т.д.
Функции ввода/вывода нужно тестировать с помощью std::stringstream
.
Тестировать работу с изображениями нужно путем самостоятельной генерации изображений, без использования файлов.