Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Raster Graphics OOP Project

Програмата представлява редактор на изображения с растерна графика, като поддържа работа с 3 вида файлове - .pbm, .pgm и .ppm. Използван е само С++.

Функционалности

Команда Описание Брой аргументи Аргументи
open <fileLocation_1> <fileLocation_2> т.н. Създава сесия с посочените файлове. неопределен <fileLocation> -> локация на файла
add <fileLocation> ... Добавя файла в текущата сесия. 1 <fileLocation> -> локация на файла
undo Отменя последната незапазена операция (няма ефект върху add и open). 0 -
save Запазва промените на всяка снимка от активната сесия обратно в съответните им файлове. 0 -
saveas <fileLocation> Запазва промените на първата снимка в активната сесия на определена локация. 1 <fileLocation> -> локация на файла
close Затваря активната сесия като изтрива незапазените промени. 0 -
grayscale Преобразува всички цветни изображения в активната сесия в такива използващи нюанси на сивото. 0 -
monochrome Преобразува всички цветни и сиви изображения в активната сесия в черно-бели. 0 -
negative Прилага трансофрмация негатив върху всички изображения в активната сесия. 0 -
rotate <direction> Завърта всички изобравения в активната сесия на +90 или -90 градуса. 1 <direction> -> посока на завъртане (right или left)
collage <direction> <image1> <image2> <outImage> Създава вертикален или хоризонтален колаж на две изображения от един и същ тип. Колажа се записва в <outImage> и се добавя към активната сесия 4 <direction> -> ориентация на колажа (horizontal или vertical)

<image1> -> локация на файла съдърщаш първата снимка

<image2> -> локация на файла съдържащ втората снимка

<outImage> -> локация на файла, в който ще бъде записан колажа
session info Връща информация за текущата сесия (идентификатор на сесията, отворени снимки). 0 -
switch <session> Сменя текущата сесия. 1 <session> -> идентификатор на определената сесия
help Връща информация за всяка от поддържаните команди. 0 -
exit Прекратява изпълнението на програмата. 0 -

Главна Структура

Image

Базов абстрактен клас, служещ за имплементация на различните разширения файлове.

Session

Клас, който обвива информацията за сесиите.

System

Главен клас, помагащ за изпълнението на програмата. Представлява контейнер за сесии.

Command

Полиморфна йерархия с базов абстрактен клас Command. Използва се за осъществяването на Command Pattern, за по-лесна работа чрез конзолата.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages