Завершено
4
18.03.2019, 10:21
13.05.2019, 09:16
Реализовать рисование окружностей.
Текстовый файл, содержащий:
Пример файла:
kitty.bmp
100 120
380 160
255 10 10
kitty_circle.bmp
Файл может содержать пустые и невалидные строки. Программа должна корректно это обрабатывать.
Реализовать рисование окружностей, используя алгоритм Брезенхэма.
Необходимо корректно обрабатывать ситуации с пересечением окружностью границ изображения.
Необходимо корректно обрабатывать ситуации с некорректно заданными цветами (приведение в диапазон 0 .. 255, 0 - значение по умолчанию).
Для работы с форматом BMP можно использовать одну из header-only библиотек.
BMP-файл, содержащий исходное изображение с нарисованной поверх него окружностью.
Необходимо написать полноценный набор тестов, охватывающий все варианты расположения и радиусов окружностей: внутри границ изображения, пересекающие одну, две, три или все четыре границы изображения, за пределами изображения, со слишком большим радиусом, и т.п.
Функции ввода/вывода нужно тестировать с помощью std::stringstream
.
Тестировать работу с изображениями нужно путем самостоятельной генерации изображений, без использования файлов.