Введение.
Актуальность.
IDE и язык программирования.
Исходный код программы.
Отличия от MS Paint.
Заключение и выводы.
Список использованной литературы.
Введение
Графический редактор — программа, позволяющая создавать, просматривать, обрабатывать и редактировать цифровые изображения на компьютере.
Тема работы: Создание свободного графического редактора
Объект исследования: Графический редактор; СПО; Visual C++.
Методы исследования: Изучение книги Стефан Р. Дэвис - С++ Для чайников (2014); Просмотр комментариев и отзывов к различным графическим редакторам; Изучение Visual C++ (сайт MSDN).
Цель проекта: Написать свободный графический редактор, написанный на высоком языке программирования. Т.к. открытого и простого редактора под Windows и Linux нет. Мне нужно было изучить быстрый язык программирования, пусть даже сложный. Программа не должна отставать от имеющихся программ своего класса, и не должна быть “обделённой”.
Поставленные задачи:
Выбрать платформу и язык программирования.
Написать основной код и постепенно добавлять функционал программы.
Отладить и выпустить первый релиз-кандидат.
Выпустить готовую стабильную версию.
2. Актуальность
Последнее время пошла тенденция на проприетарное программное обеспечение. Я думаю, что открытое программное обеспечение лучше с точки зрения философии СПО (свободное программное обеспечение). На данный момент лидирующим открытым графическим редактором является Gimp. Но он уже так оброс функционалом, что простому пользователю нелегко работать в Gimp. Самая главная цель была написать именно СВОБОДНЫЙ графический редактор, я хотел дать пользователю право на изучение, доработку и изменение программы. Поэтому передо мной стояла задача написания открытого графического редактора для “неподготовленного пользователя”.
3. IDE и язык программирования
Мой выбор сразу пал на Visual C++, т.к. это язык высокого уровня, который сразу же подошел к моей идее. Программа должны была быть похожа на MS Paint, но быть открытым и функциональным графическим редактором.
Я выбрал Windows как первоначальную платформу, т.к. она является лидирующей на рынке в данный момент. А в Windows есть замечательная среда разработки под названием Visual Studio.
4. Исходный код программы
Весь исходный код программы написан на Visual C++ с использованием MFC.
Вот пример кода функции Pens -> Size
Выбор толщины ручки и карандаша.
BrushFill
Выбор цвета заливки.
Mouse located
Местоположение мышки.
5. Отличия от MSPaint
Название |
MSPaint |
GPaint |
Язык программирования |
? |
VisualC++ |
Функциональность (рисование) |
Выделение, ластик, заливка, масштаб, карандаш, кисть, распылитель, надпись, линия, кривая, прямоугольник, многоугольник, эллипс и скругленный прямоугольник |
Линия, закрашенный прямоугольник, прямоугольник, закрашенный скругленный прямоугольник, скругленный прямоугольник, закрашенный эллипс, эллипс, овал, закрашенный полуовал, долька, дуга, карандаш, заливка, надпись и быстрая очистка |
Системные требования |
MS Windows (Win32) |
MS Windows (Win32, вскоре Qt) |
Но самое главное отличие заключается в том, что это СПО, я не хотел сделать простой аналог MS Paint, а именно дать пользователю право изучать и пользоваться программой как хочет пользователь.
6. Заключение
Я писал программу с 28.04.2015 по 27.08.2015. 27 августа я скомпилировал версию 1.0 с использованием лицензии GNU GPLv3. Программа работает стабильно.
Выводы
Моя задумка удалась, я написал открытый графический редактор, который вполне может заменить обычный MS Paint и составить конкуренцию Gimp. Но я не собираюсь делать из GPaint второй Gimp, а сделаю простой и дружелюбный для пользователя графический редактор. Программа работает отлично, в моей школе младшие классы рисуют только с помощью GPaint! Сейчас я собираюсь перенести проект на Qt.
7. Список использованной литературы
Стефан Р. Дэвис - С++ Для чайников
Либерти Д., Джонс Б. Освой самостоятельно C++ за 21 день
11