Это консольное приложение на C#, которое читает текстовый файл с описанием двумерной сцены, парсит находящиеся в нем объекты и отрисовывает их в изображение формата BMP.
Проект выполнен в качестве тестового задания. Классы объектов вынесены в отдельный Shared Project для легкого переиспользования.
- C# и платформа .NET
- System.Drawing.Common для генерации изображений
- Чтение сцены из текстового файла.
- Отрисовка примитивов на основе заданных координат.
- Сохранение результата в файл
output.bmp. - Поддержка следующих объектов:
point- точкаrect- прямоугольникhline- горизонтальная линияvline- вертикальная линияcircle- окружность (пользовательский тип)triangle- треугольник (пользовательский тип)
- Склонируйте репозиторий.
- Откройте решение (
Test1547.sln) в Visual Studio или JetBrains Rider. - Убедитесь, что файл
scene.txtнаходится в папкеTest1547/Test1547(или создайте его). - Заполните
scene.txtсогласно формату, описанному ниже. - Запустите проект прямо из IDE (обычно нажатием на зеленую стрелку "Run" или клавишей F5).
По умолчанию программа ищет файл scene.txt в своей рабочей директории и создает output.bmp.
Если вы хотите указать другой входной или выходной файл, вы можете настроить аргументы запуска в вашем IDE:
- В JetBrains Rider:
Run->Edit Configurations...->Program arguments. - В Visual Studio:
Project->Properties->Debug->General->Open debug launch profiles UI->Command line arguments.
В поле для аргументов укажите пути, например: C:\path\to\my_scene.txt C:\path\to\my_output.bmp
Первая строка файла должна содержать 4 числа, описывающие видимую область (окно): x1 y1 x2 y2.
Последующие строки описывают объекты в формате тип параметры....
point x yrect x1 y1 x2 y2hline x1 x2 yvline y1 y2 xcircle x y radiustriangle x1 y1 x2 y2 x3 y3
0 0 250 250
rect 10 10 240 240
hline 20 230 125
vline 20 230 125
circle 125 125 50
triangle 125 20 230 230 20 230
point 200 50