Skip to content

Repository files navigation

Отрисовка 2D сцены (Test1547)

Это консольное приложение на C#, которое читает текстовый файл с описанием двумерной сцены, парсит находящиеся в нем объекты и отрисовывает их в изображение формата BMP.

Проект выполнен в качестве тестового задания. Классы объектов вынесены в отдельный Shared Project для легкого переиспользования.

Технологии

  • C# и платформа .NET
  • System.Drawing.Common для генерации изображений

Возможности

  • Чтение сцены из текстового файла.
  • Отрисовка примитивов на основе заданных координат.
  • Сохранение результата в файл output.bmp.
  • Поддержка следующих объектов:
    • point - точка
    • rect - прямоугольник
    • hline - горизонтальная линия
    • vline - вертикальная линия
    • circle - окружность (пользовательский тип)
    • triangle - треугольник (пользовательский тип)

Запуск и использование

  1. Склонируйте репозиторий.
  2. Откройте решение (Test1547.sln) в Visual Studio или JetBrains Rider.
  3. Убедитесь, что файл scene.txt находится в папке Test1547/Test1547 (или создайте его).
  4. Заполните scene.txt согласно формату, описанному ниже.
  5. Запустите проект прямо из 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 y
  • rect x1 y1 x2 y2
  • hline x1 x2 y
  • vline y1 y2 x
  • circle x y radius
  • triangle x1 y1 x2 y2 x3 y3

Пример файла scene.txt

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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages