Целью данного проекта является создание полнофункционального фоторедактора на языке программирования C++. Эта работа представляет собой инструмент для эффективного редактирования цифровых изображений.
- После запуска приложения нажмите
CTRL+O
или выберитеfile -> open
, чтобы открыть проводник.
- Выберите изображение в формате
.jpg
для редактирования.
- Нажмите
CTRL+P
для открытия ползунков илиCTRL+T
для открытия текстовых полей для изменения параметров изображения. Также можно нажать на кнопкуsettings
и выбратьtext parameters
илиsliders parameters
.
- В случае необходимости нажмите
CTRL+L
для сброса значений по умолчанию или выберитеsettings -> default parameters
.
- Сохраните измененное изображение, нажав
CTRL+S
или выбравfile -> save
.
- Чтобы закрыть приложение, можете нажать
CTRL+W
илиfile->close
. Вам высветиться уведомление, в котором будет предложено сохранить изображение, закрыть уведомление или выйти из приложения.
- Далее вы можете зайти в проводник и открыть сохранённое изображение
Функционал приложения реализован в файле photo_editors.cpp
с использованием класса ScanGui
. Разработка осуществлена на C++ с графическим интерфейсом пользователя.
- Запуск приложения: Создание окна с помощью библиотеки GLFW, настройка его размера и вида, интеграция библиотек Dear ImGui с OpenGL и GLFW.
- Графический интерфейс: Реализация интерфейса с использованием ImGui и OpenCV.
- Обработка изображений: Открытие изображения, его обработка с помощью методов OpenCV, создание текстуры и вывод в GUI.
- Горячие клавиши: Реализация реакции на комбинации клавиш с помощью метода
KeysDown[]
из Dear ImGui.
-
Скачайте проект с помощью Git: git clone https://GITHUB.COM/AKNYAZP/MISIS2023F-22-04-KNYAZEV-A-P.GIT
-
Перейдите в директорию проекта: cd path/to/project/misis2023f-22-04-knyazev-a-p
-
Соберите проект: mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="path/to/vcpkg/scripts/buildsystems/vcpkg.cmake".. cmake --build. --config Release
-
Запустите приложение: cd../bin.rel photo_editors.exe
Класс Editor
управляет графическим интерфейсом и рендерингом окна ImGui.
Класс Image
обеспечивает работу с изображениями, включая обработку и отображение.
- Официальная документация Dear ImGui: Dear ImGui
- ImGuiFileDialog: ImGuiFileDialog
- Примеры загрузки и отображения изображений ImGui: ImGui Image Loading and Displaying Examples
- Документация по использованию Doxygen: Doxygen
- Документация по использованию OpenCV: OpenCV
- Документация по использованию OpenGL: OpenGL