Delphi: разработка программы простейшего графического редактора
Разработка программы, аналога Paint системы Windows, с функциями открытия изображения в графическом редакторе и его сохранения, написания текста в любом указанном мышкой месте, изменения шрифта, размера и цвета текста на языке программирования Delphi.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.04.2014 |
Размер файла | 278,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КУРСОВАЯ РАБОТА
по дисциплине Информатика
Delphi: разработать программу простейшего графического редактора
Задание
Разработать программу простейшего графического редактора (аналог программы Paint системы Windows). Он должен писать текст в канве компонента TraintBox в указанном мышкой месте. Предусмотреть возможность изменения цвета, размера, типа шрифта, сохранения рисунка в графическом файле.
Оглавление
Введение
Введение
1. Структура программы
1.1 Описание
1.2 Основные составляющие
2. Структурные схемы алгоритма решения задачи
3. Текст программы
4. Работоспособность программы
Вывод
Список использованной литературы
Введение
Программирование - это процесс создания компьютерных программ. В наши дни такая деятельность приветствуется, практически, во всех сферах. Элементарная бегущая строка, которую показывают по телевизору - и та создаётся с помощью программирования, не говоря уже о программах для работы в самых различных сферах деятельности. Также с помощью программирования можно создать графический редактор. Именно этому и посвящена данная курсовая работа.
Для выполнения задач курсовой работы я решил использовать среду программирования Delphi7. Мой выбор обусловлен наиболее простым и понятным в использовании интерфейсом программы.
Цели и задачи работы.
1) Освоение программирования;
2) Понимание структуры задачи, её построения;
3) Изучение какого-либо языка программирования. В данном случае - это язык Delphi;
4) Выявление ошибок в программировании и их устранение.
программа графический редактор delphi
1. Структура программы
1.1 Описание
Программа представляет собой аналог графического редактора Paint в системе Windows с урезанными функциями, написана на языке программирования Delphi в программе Borland Delphi7. Программа предусматривает возможности:
1) открытие изображения в графическом редакторе;
2) сохранение изображения;
3) написание текста в любом указанном мышкой месте;
4) изменение шрифта, размера и цвета текста;
1.2 Основные составляющие
PaintBox - область, на которой производятся все основные действия программы.
Image - область, в которую помещается открываемое изображение.
Panel 1 - панель инструментов.
MainMenu - главное меню.
SpeedButton - быстрая кнопка с изображением инструмента набора текста. С помощью нее можно ввести текст в любой выбранной области.
SpeedButton - быстрая кнопка с изображением карандаша. С ее помощью можно выполнить рисунок.
OpenPicture - диалог открытия изображения.
SavePicture - диалог сохранения изображения.
FontDialog - диалог выбора размера, вида и цвета текста
2. Структурные схемы алгоритма решения задачи
3. Текст программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ColorGrd, StdCtrls, Spin, ExtCtrls, Menus, Buttons, ExtDlgs;
type
TForm1 = class(TForm)
Image1: TImage;
MainMenu1: TMainMenu;
Panel1: TPanel;
Panel2: TPanel;
N1: TMenuItem;
SpeedButton5: TSpeedButton;
SpeedButton8: TSpeedButton;
N8: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N21: TMenuItem;
OpenPictureDialog1: TOpenPictureDialog;
SavePictureDialog1: TSavePictureDialog;
Memo1: TMemo;
ColorDialog1: TColorDialog;
ScrollBox1: TScrollBox;
N2: TMenuItem;
N3: TMenuItem;
FontDialog1: TFontDialog;
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SpeedButton8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
funcpencil = 1;
funcfill = 2;
funcgetcol = 3;
funcline = 4;
funcerase = 5;
funcspray = 6;
funcrect = 7;
funcellip = 8;
funcrrect = 9;
funcwrite = 10;
funcbezier = 11;
funcpolygon = 12;
funcbrush = 13;
var
Form1 : TForm1;
func : byte;
fcol : tcolor;
bcol : tcolor;
Image : TImage;
fx,fy : integer;
stx,sty : integer;
eraser : integer;
but : TShiftState;
rad : byte;
stil : byte;
points : array [1..4] of TPoint;
NumP : byte;
wid,het : LongInt;
mastab : byte;
polyg : array of TPoint;
brkind,brsize : byte;
implementation
{$R *.dfm}
uses proc, AbPr;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in shift then
case func of
funcpencil : pencil(x,y,fcol);
end;
if ssright in shift then
case func of
funcpencil : pencil(x,y,bcol);
end;
Image.Canvas.MoveTo(x,y);
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var i:integer;
st:string;
count:integer;
begin
if ssLeft in shift then
case func of
funcwrite : begin
memo1.Font.Color:=fcol;
form1.memo1.Left:=x;
form1.memo1.Top:=y;
form1.memo1.Show;
func:=100;
end;
end;
if ssright in shift then
case func of
funcwrite : begin
memo1.Font.Color:=bcol;
form1.memo1.Left:=x;
form1.memo1.Top:=y;
form1.memo1.Show;
func:=100;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//form2.hide;
memo1.Hide;
eraser:=3;
openpicturedialog1.FilterIndex:=4;
openpicturedialog1.InitialDir:=extractfilepath(paramstr(0));
savepicturedialog1.InitialDir:=extractfilepath(paramstr(0));
panhide;
Image:=form1.image1;
wid:=image.Width;
het:=image.Height;
image.Canvas.Pen.Mode:= pmcopy;
bcol:=clwhite;
Image.Canvas.FillRect(rect(0,0,image1.Width,image1.Height));
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
func:=funcpencil;
panhide;
setprop;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
if savepicturedialog1.Execute then
begin
image.AutoSize:=true;
image.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
if FontDialog1.Execute= true then
Memo1.Font:=FontDialog1.Font;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
begin
image.AutoSize:=true;
image.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
image.Canvas.Pen.Mode:= pmcopy;
end;
procedure TForm1.SpeedButton8Click(Sender: TObject);
begin
panhide;
setprop;
func:=funcwrite;
end;
end.
4. Работоспособность программы
Вывод
По мере выполнения поставленного задания я хорошо освоил язык программирования Delphi и изучил программу Borland Delphi7, изучил поставленную задачу и принципы ее решения. Написал программу и исправил ошибки, возникшие в процессе выполнения работы.
Исходя из проделанной работы, можно сказать, что мне удалось справится с задачами поставленными в начале.
Список использованной литературы
1. Лафоре Р. Объектно-ориентированное программирование / Р. Лафоре - 4-е изд. - Питер.: 2010. - 654 с.
2. Давыдов В.Г. Технологии программирования. / В.Г. Давыдов - Санкт-Петербург: БХВ-Петербург, 2009. - 432 с.
3. Касюк С.Т. Конспект лекций по дисциплине «Информатика» / С. Т. Касюк - Челябинск: ЮУрГУ, 2005. - 212 с.
Размещено на Allbest.ru
Подобные документы
Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Функции графического редактора Paint, создание рисунка (задание размера, изменение цвета). Возможности программы "Калькулятор". Работа с блокнотом, ввод текста с помощью клавиатуры. Текстовый процессор WordPad: простейшие приемы форматирования документов.
контрольная работа [434,3 K], добавлен 17.11.2011Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.
курсовая работа [1,5 M], добавлен 08.02.2011Создание нового документа. Редактирование текстовых файлов типа TXT и RTF. Сохранение измененного документа. Изменение шрифта, начертания и размера символов. Отмена последнего действия. Оформление нового текста, форматирование абзаца, удаление текста.
реферат [158,6 K], добавлен 25.10.2013Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.
курсовая работа [506,5 K], добавлен 21.02.2011Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.
курсовая работа [560,1 K], добавлен 18.07.2012Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.
курсовая работа [147,1 K], добавлен 05.02.2015Функциональные возможности графического редактора Paint. Устройства персонального компьютера и их назначения. Стандартные программы операционной системы Windows. Приложения системы графического редактора к решению задач графики, теоретической механики.
курсовая работа [156,5 K], добавлен 05.12.2008Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.
курсовая работа [2,4 M], добавлен 27.08.2012Функционально-структурная организация персонального компьютера. Операционная система Windows. Функции стандартизации программы графического редактора Paint. Рисование геометрических объектов и оформление рисунков с помощью графического редактора Paint.
курсовая работа [680,1 K], добавлен 03.12.2008