Delphi: разработка программы простейшего графического редактора
КУРСОВАЯ
РАБОТА
по
дисциплине Информатика
Delphi:
разработать программу простейшего графического редактора
Задание
Разработать программу простейшего графического
редактора (аналог программы Paint системы Windows). Он должен писать текст в канве
компонента TraintBox в указанном мышкой месте. Предусмотреть возможность
изменения цвета, размера, типа шрифта, сохранения рисунка в графическом файле.
Оглавление
Введение
Введение
. Структура программы
.1 Описание
.2 Основные составляющие
. Структурные схемы алгоритма
решения задачи
. Текст программы
. Работоспособность программы
Вывод
Список
использованной литературы
Введение
Программирование - это процесс создания
компьютерных программ. В наши дни такая деятельность приветствуется, практически,
во всех сферах. Элементарная бегущая строка, которую показывают по телевизору -
и та создаётся с помощью программирования, не говоря уже о программах для
работы в самых различных сферах деятельности. Также с помощью программирования
можно создать графический редактор. Именно этому и посвящена данная курсовая
работа.
Для выполнения задач курсовой работы я решил
использовать среду программирования Delphi7.
Мой выбор обусловлен наиболее простым и понятным в использовании интерфейсом
программы.
Цели и задачи работы.
) Понимание структуры задачи, её
построения;
) Изучение какого-либо языка
программирования. В данном случае - это язык Delphi;
) Выявление ошибок в программировании и
их устранение.
программа
графический редактор delphi
1. Структура программы
.1 Описание
Программа представляет собой аналог графического
редактора Paint в системе Windows с урезанными функциями, написана на языке
программирования Delphi в программе Borland
Delphi7. Программа
предусматривает возможности:
) открытие изображения в графическом редакторе;
) сохранение изображения;
) написание текста в любом указанном мышкой
месте;
) изменение шрифта, размера и цвета текста;
1.2 Основные составляющие
PaintBox - область, на которой производятся все
основные действия программы.
Image - область,
в которую помещается открываемое изображение.
Panel 1 - панель
инструментов.
MainMenu
- главное меню.- быстрая кнопка с изображением инструмента набора текста. С
помощью нее можно ввести текст в любой выбранной области.- быстрая кнопка с
изображением карандаша. С ее помощью можно выполнить рисунок.
OpenPicture
- диалог открытия изображения.
SavePicture
- диалог сохранения изображения.
FontDialog
- диалог выбора размера, вида и цвета текста
2. Структурные схемы алгоритма решения задачи
3. Текст
программы
Unit1;, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,, ColorGrd, StdCtrls, Spin,
ExtCtrls, Menus, Buttons, ExtDlgs;= class(TForm): TImage;: TMainMenu;: TPanel;:
TPanel;: TMenuItem;: TSpeedButton;: TSpeedButton;: TMenuItem;: TMenuItem;:
TMenuItem;: TMenuItem;: TOpenPictureDialog;: TSavePictureDialog;: TMemo;:
TColorDialog;: TScrollBox;: TMenuItem;: TMenuItem;: TFontDialog;Image1MouseMove(Sender:
TObject; Shift: TShiftState; X,: Integer);Image1MouseDown(Sender: TObject;
Button: TMouseButton;: TShiftState; X, Y: Integer);FormCreate(Sender:
TObject);SpeedButton5Click(Sender: TObject);N8Click(Sender: TObject);Image1MouseUp(Sender:
TObject; Button: TMouseButton;: TShiftState; X, Y:
Integer);SpeedButton8Click(Sender: TObject);N10Click(Sender:
TObject);N3Click(Sender: TObject);
{ Private declarations }
{ Public declarations };= 1;= 2;=
3;= 4;= 5;= 6;= 7;= 8;= 9;= 10;= 11;= 12;= 13;: TForm1;: byte;: tcolor;:
tcolor;: TImage;,fy : integer;,sty : integer;: integer;: TShiftState;: byte;:
byte;: array [1..4] of TPoint;: byte;,het : LongInt;: byte;: array of
TPoint;,brsize : byte;
{$R *.dfm}proc, AbPr;TForm1.Image1MouseMove(Sender:
TObject; Shift: TShiftState; X,: Integer);ssLeft in shift thenfunc of:
pencil(x,y,fcol);;ssright in shift thenfunc of:
pencil(x,y,bcol);;.Canvas.MoveTo(x,y);;TForm1.Image1MouseDown(Sender: TObject;
Button: TMouseButton;: TShiftState; X, Y:
Integer);i:integer;:string;:integer;ssLeft in shift thenfunc of:
begin.Font.Color:=fcol;.memo1.Left:=x;.memo1.Top:=y;.memo1.Show;:=100;;;ssright
in shift thenfunc of:
begin.Font.Color:=bcol;.memo1.Left:=x;.memo1.Top:=y;.memo1.Show;:=100;;;;TForm1.FormCreate(Sender:
TObject);
//form2.hide;.Hide;:=3;.FilterIndex:=4;.InitialDir:=extractfilepath(paramstr(0));.InitialDir:=extractfilepath(paramstr(0));;:=form1.image1;:=image.Width;:=image.Height;.Canvas.Pen.Mode:=
pmcopy;:=clwhite;.Canvas.FillRect(rect(0,0,image1.Width,image1.Height));;TForm1.SpeedButton5Click(Sender:
TObject);:=funcpencil;;;;TForm1.N10Click(Sender:
TObject);savepicturedialog1.Execute
then.AutoSize:=true;.Picture.LoadFromFile(openpicturedialog1.FileName);;;TForm1.N3Click(Sender:
TObject);FontDialog1.Execute= true
then.Font:=FontDialog1.Font;;TForm1.N8Click(Sender:
TObject);openpicturedialog1.Execute
then.AutoSize:=true;.Picture.LoadFromFile(openpicturedialog1.FileName);;;TForm1.Image1MouseUp(Sender:
TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);.Canvas.Pen.Mode:=
pmcopy;;TForm1.SpeedButton8Click(Sender: TObject);;;:=funcwrite;
end;.
. Работоспособность программы
Вывод
По мере выполнения поставленного задания я
хорошо освоил язык программирования Delphi и изучил программу Borland
Delphi7, изучил
поставленную задачу и принципы ее решения. Написал программу и исправил ошибки,
возникшие в процессе выполнения работы.
Исходя из проделанной работы, можно сказать, что
мне удалось справится с задачами поставленными в начале.
Список использованной литературы
1. Лафоре Р.
Объектно-ориентированное программирование / Р. Лафоре - 4-е изд. - Питер.:
2010. - 654 с.
. Касюк С.Т. Конспект лекций
по дисциплине «Информатика» / С. Т. Касюк - Челябинск: ЮУрГУ, 2005. - 212 с.