Графические объекты в среде Delphi

Графические возможности среды Delphi. Наследники класса TGraphicsObject. Создание форм, диаграмм, графиков, таблиц и рисунков. Основные свойства Image, Chart, DrawGrid, Animate, PaintBox. Загрузка и хранение графических изображений и их комбинирование.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.11.2015
Размер файла 812,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

(ФГБОУ ВПО «КубГУ»)

Кафедра вычислительной математики и информатики

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА

Графические объекты в среде Delphi

Работу выполнил Д.А. Кораблев

Факультет математики и компьютерных наук курс 4

Направление 02.03.01 Математика и компьютерные науки (Вычислительные, программные, информационные системы и компьютерные технологии)

Научный руководитель

доцент, канд. физ-мат. наук И.Н. Царева

Нормоконтролер

старший лаборант А.А. Цыбенко

Краснодар 2015

Реферат

Бакалаврская работа состоит из 39 страниц, 16 рисунков, 11 таблиц и 19 источников.

ГРАФИЧЕСКИЕ ОБЪЕКТЫ В СРЕДЕ DELPHI.

Цель работы: изучение графических возможностей среды Delphi для создания учебного материала по графике в Delphi.

Объектом исследования данной работы является графические возможности среды Delphi.

Результатом данной работы является разработанные учебные материалы по графике в среде Delphi.

Введение

В данной выпускной работе разрабатываются учебные материалы по графическим объектам Delphi.

Для работы с графикой, в Delphi существует библиотека визуальных компонентов (VCL), скрывающая механизм взаимодействия приложения с операционной системой и облегчающая работу с графикой. Графические возможности среды Delphi очень обширны: от обычного построения графиков до анимации; от рисования графических примитивов до программирования фракталов, поэтому в настоящий момент вполне актуально изучение и использование графических возможностей среды Delphi.

Вначале рассмотрены общие сведения о графических классов Delphi: иерархия графических классов, наследники класса TGraphicsObject (TPen, TBrush, TFont), класс TCanvas.

Далее разработаны темы по изучению компонентов среды Delphi, работающих с графикой. Детально рассмотрены компоненты: Image, Chart, DrawGrid, PaintBox.

В каждом параграфе предлагается основной теоретический материал по теме, практические задания с описанием пошагового выполнения действий для их выполнения, вопросы для закрепления основных умений и навыков, вырабатываемых в процессе изучения базового теоретического материала и выполнения заданий. Для закрепления приобретаемых навыков разработаны задания для самостоятельного выполнения.

Данные учебные материалы предназначены для работы в группе и нацелены на изучение графических объектов Delphi. Предполагается, что изучающие данный материал, уже имеют навыки и общие сведения работы со средой Delphi.

1. Графические классы Delphi

1.1 Наследники класса TGraphicsObject

В среде Delphi существует множество классов, работающих с графикой. Большинство из них объединены в модуле graphics.

Рассмотрим иерархию графических классов, входящих в этот модуль.

Рисунок 1 - Иерархия наследования графических классов

Для начала рассмотрим ветвь абстрактного класса TGraphicsObject

Рисунок 2 - Ветвь класса TGraphicsObject

Класс TGraphicsObject включает в себя функции для работы со шрифтами (Font), перьями (Реn) и закраской областей (Brush). При помощи данных инструментов можно строить изображения из плоских графических примитивов, а также отображать на экране текстовую информацию с использованием различных шрифтов Windows. Потомки этого класса (TFont, TBrush, TPen) не доступны в качестве компонентов, но доступны в качестве свойств в некоторых компонентах и являются «рабочими инструментами» для рисования.

1. Класс TPen. Инкапсулирует перо, которое применяется для рисования на холсте линий, контуров геометрических фигур (прямоугольников, окружностей, эллипсов, дуг и пр.). По умолчанию создается непрерывное черное перо шириной в один пиксель. В таблице 1 кратко описаны основные свойства пера.

Таблица 1 - Основные свойства класса TPen

Свойство

Тип

Описание

Color

TColor

Цвет пера. По умолчанию - clBlack.

Mode

TPenMode

Определяет режим рисования линий.

Style

TBrushStyle

Определяет стиль рисования линий.

Width

Integer

Определяет толщину линии в пикселях. Влияет на Style.

На рисунке ниже приведены семь основных стилей пера.

Рисунок 3 - Основные стили пера TPen

2. Класс TBrush. Инкапсулирует кисть, которая используется для заполнения форм заданным цветом и стилем. В таблице 2 кратко описаны основные свойства пера.

Таблица 2 - Основные свойства TBrush

Свойство

Тип

Описание

Bitmap

TBitmap

Указатель на внешнее растровое изображение, используемое как шаблон заполнения.

Color

TColor

Цвет кисти. По умолчанию - clWhite.

Style

TBrushStyle

Определяет стиль рисования линий.

На рисунке ниже приведены семь базовых стилей пера

Рисунок 4 - Стандартные стили кисти

С помощью свойства Bitmap вы можете создавать собственные кисти на основе битовых образов. По умолчанию Delphi не инициализирует свойство Bitmap кисти, поэтому перед загрузкой растрового рисунка необходимо создать экземпляр объекта TBitmap и присоединить его к кисти так, как представлено в следующем фрагменте кода.

with Form1.Canvas do begin

Brush.Bitmap:=TBitmap.Create; //инициализация свойства

Brush.Bitmap.LoadFromFile('mybmp.bmp'); //загрузка шаблона кисти

FillRect(Form1.ClientRect); //закраска поверхности

Brush.Bitmap.Free; //очистка ресурса

end;

3. Класс TFont. Описывает характеристики шрифта, используемые в Windows. Все элементы управления из палитры компонентов Delphi, способные выводить текст, обладают свойством Font.

Таблица 3 - Основные свойства TFont

Свойство

Тип

Описание

Handle

HBrush

Дескриптор шрифта, используемый как параметр функций API Windows, требующих обработки шрифтов. Применяется только в специальных случаях.

Charset

TFontCharset

Определяет набор символов шрифта. По умолчанию Charset

FontAdapter

IChangeNotifier

Интерфейс для передачи информации о шрифте в элементы ActiveX.

Color

TColor

Определяет цвет текста.

Height

Integer

Характеризует высоту шрифта в пикселях.

Name

TFontName

Вид (имя) шрифта.

Pitch

TFontPitch

Определяет способ установки ширины символов.

PixelsPerInch

Integer

Число пикселей принтера или экрана на дюйм. Используется при копировании шрифта с канвы формы на принтер, чтобы обеспечить соответствие размеров шрифта на экране и принтере. Влияет только на печать. Изменяться пользователем не должно.

Size

Variant

Размер шрифта в кеглях (пунктах).

Style

TBrushStyle

Стиль шрифта: полужирный, курсив, подчеркнутый, перечеркнутый.

Свойство Pitch - способ установки ширины символов.

fpDefault - по умолчанию;

fpFixed - у всех ширина одинакова;

fpVariable - переменная ширина.

Размер шрифта можно изменять при помощи свойств Height или Size. Свойства связаны формулой:

Font.Size = Font.Height * 72 / Font.PixelsPerInch

Вопросы:

1. Перечислите основные графические классы, входящие в модуль graphics.

2. Перечислите основных наследников класса TGraphicsObject.

3. Для чего используется класс TPen?

4. Перечислите основные свойства класса TPen.

5. Для чего используется класс TBrush?

6. Перечислите основные свойства класса TBrush.

7. Для чего используется класс TFont?

8. Перечислите основные свойства класса TFont.

1.2 Класс TCanvas

Следующим важным графическим классом является класс TCanvas. Этот класс является основой для графической подсистемы Delphi. Он объединяет в себе и пространство (холст, канву) для создания, хранения и обработки графических объектов, и средства для рисования (перо, кисть, шрифт) и методы для рисования (набор функций по рисованию типовых геометрических фигур).

Канва обеспечивает:

· загрузку и хранение графических изображений;

· создание новых и изменение загруженных изображений с помощью пера, кисти, шрифта;

· рисование и закраску различных фигур, линий, текстов.

Холст не является компонентом, но он присутствует в качестве свойства Canvas во многих другие компонентах, которые должны отобразить какую-либо информацию. Кроме того, в VCL предусмотрен специальный объект, готовый исполнять обязанности холста, - это компонент TPaintBox.

Холст представляет собой перевернутую систему координат XOY, где О эта верхняя левая точка компонента или формы.

Рисунок 5 - Координатная ось холста в форме

Необходимо также упомянуть о свойствах класса TCanvas. Основные приведены в таблице ниже.

Таблица 4 - Основные свойства класса TCanvas

Свойство

Тип

Описание

Handle

HDC

Дескриптор канвы

Brush

TBrush

Определяет цвет и стиль заполнения замкнутых фигур и фона (кисть).

CanvasOrientation

TCanvasOrientation

Определяет обычную (слева направо) и восточную (справа налево) ориентацию канвы и ее координат. Свойство только для чтения.

ClipRect

TRect

Определяет доступную область рисования на канве и область, подлежащую перерисовке при событии OnPaint. Свойство только для чтения.

CopyMode

Определяет режим копирования графического изображения на канву.

Font

TFont

Определяет атрибуты шрифта, которым выводится текст

LockCount

Определяет, сколько раз блокирована канва в многопоточных приложениях. Свойство только для чтения.

Pen

TPen

Определяет свойства пера, рисующего линии и фигуры.

PenPos

Определяет текущую позицию пера.

Pixels

TColor

Определяет цвета пикселей.

TextFlags

Определяет способ вывода текста на канву.

Для рисования холст содержит перо, шрифт, и кисть:

Свойство Font является объектом типа TFont. Изменение шрифта осуществляется путем изменения свойств Color, Height, Name, Pitch, Size, Style рабочего объекта.

Обращение: property Font: TFont;

Свойство канвы Pen определяет атрибуты пера, используемого для рисования линий и фигур. Это свойство является объектом типа TPen. Атрибуты состоят из цвета, ширины, стиля линий и режима рисования пера. Присваивание свойства Pen может производиться методом Assign.

Обращение: property Pen: TPen;

Свойство Brush (кисть) можно читать, чтобы определить цвет и стиль заполнения фона окна. Это свойство только для чтения. Однако, атрибуты объекта Brush можно изменять, используя свойства Color и Style.

Обращение: property Brush: TBrush;

Так же, рисовать можно поточечно, используя свойство Pixels[X, Y], которое предоставляет доступ к каждому пикселу. Значением этого свойства является цвет точки с координатами (X,Y).

Обращение: property Pixels[X, Y: Integer]: TColor;

Задание значений пикселей позволяет рисовать по пикселям графики и линии. В качестве значений можно использовать константы TColor. Определение цвета пикселя используется обычно в методе FillRect.

Свойство канвы ClipRect определяет доступную область рисования на канве и область, нуждающуюся в перерисовке. Вне области ClipRect рисовать невозможно.

При обработке события формы OnPaint это свойство определяет ту часть канвы, вне которой перерисовка не требуется. Использование этого свойства позволяет сократить затраты времени на перерисовку.

Свойство канвы CopyMode определяет режим копирования графического изображения на канву методом CopyRect или при рисовании объекта TBitmap. Используя свойство можно достичь различных эффектов объединения изображений и их комбинирования.

Возможны следующие значения свойства CopyMode.

Таблица 5 - Значения свойства CopyMode

cmBlackness

Заполняет область канвы, в которую производится копирование, черным цветом. Собственное изображение на канве и копируемое изображение игнорируются.

CmDstInvert

Инвертирует изображение на канве. Копируемое изображение игнорируется.

CmMergeCopy

Комбинирует изображение канвы и копируемое изображение, используя булеву операцию AND. То же, что cmSrcAnd.

CmMergePaint

Комбинирует изображение канвы и инверсию копируемого изображения, используя булеву операцию OR.

CmNotSrcCopy

Копирует на канву инверсное изображение. Собственное изображение на канве игнорируется.

CmNotSrcErase

Комбинирует изображения канвы и копируемого изображения, используя булеву операцию OR, а затем инвертирует результат.

CmPatCopy

Копирует шаблон источника на канву. Собственное изображение на канве игнорируется.

CmPatInvert

Комбинирует изображение канвы и шаблон источника, используя булеву операцию XOR.

CmPatPaint

Комбинирует инверсное изображение источника и его шаблон, используя булеву операцию OR. Затем этот результат комбинирует с изображением канвы, используя булеву операцию OR.

CmSrcAnd

Комбинирует изображения канвы и источника, используя булеву операцию AND. То же, что cmMergeCopy.

CmSrcCopy

Копирует изображение источника на канву. Собственное изображение на канве игнорируется. Этот режим принят по умолчанию.

CmSrcErase

Инвертирует изображение на канве и комбинирует результат с изображением источника, используя булеву операцию AND.

CmSrcInvert

Комбинирует изображения канвы и источника, используя булеву операцию XOR. Повторное копирование восстанавливает прежнее изображение на канве.

CmSrcPaint

Комбинирует изображения канвы и источника, используя булеву операцию OR.

CmWhiteness

Заполняет область канвы, в которую производится копирование, белым цветом. Собственное изображение на канве и копируемое изображение игнорируются.

Свойство канвы PenPos определяет переменной типа TPoint положение пера на канве. Координаты пера, определенные этим свойством, задают начальную точку рисования линии методом LineTo. Свойство PenPos изменяется методом MoveTo и некоторыми методами рисования (например, методом LineTo). Непосредственная установка PenPos эквивалентна применению метода MoveTo.

Свойство канвы TextFlags определяет особенности вывода текста на канву методами TextOut и TextRect. Свойство TextFlags может формироваться как целая комбинация любых следующих констант.

Таблица 6 - Константы API

Константа

Пояснение

ETO_CLIPPED

Выводится только текст, помещающийся в указанной прямоугольной области. В методе TextRect этот флаг устанавливается автоматически. На метод TextOut этот флаг не влияет.

ETO_OPAQUE

Текст выводится с непрозрачным цветом фона.

ETO_RTLREADING

Строка текста выводится справа налево. Доступно только с версией Windows Mideast (для стран востока).

ETO_GLYPH_INDEX

Текст является массивом кодов символов, который непосредственно передается GDI Windows. Применимо только для шрифтов trueType , но этот флаг можно применять и для других шрифтов, чтобы указать, что GDI должен обрабатывать текст напрямую, без языковой обработки.

Таблица 7 - Основные методы TCanvas

Метод

Описание

Arc

Рисует дугу окружности или эллипса

BrushCopy

Копирует часть изображения битовой матрицы на данную канву, заменяя указанный цвет в изображении на значение, установленное для кисти канвы

Chord

Рисует замкнутую фигуру, ограниченную дугой окружности или эллипса и хордой

CopyRect

Копирует часть изображения с другой канвы на данную

Draw

Рисует графическое изображение в указанную позицию канвы

Draw FocusRect

Рисует изображение прямоугольника в виде, используемом для отображения рамки фокуса, операцией XOR

Ellipse

Рисует окружность или эллипс

FillRect

Заполняет указанный прямоугольник канвы, используя текущее значение кисти Brush

FloodFill

Закрашивает текущей кистью замкнутую область канвы, определенную цветом

FrameRect

Рисует на канве текущей кистью прямоугольную рамку

LineTo

Рисует на канве прямую линию, начинающуюся с текущей позиции пера и кончающуюся указанной точкой

Lock

Блокирует канву, не разрешая другим нитям многопоточного приложения рисовать на ней

MoveTo

Изменяет текущую позицию пера на заданную, ничего не рисуя

Pie

Рисует сектор окружности или эллипса

Polygon

Рисует замкнутую фигуру с кусочно-линейной границей

Polyline

Рисует кусочно-линейную кривую

Rectangle

Рисует прямоугольник

RoundRect

Рисует прямоугольник со скругленными углами

TextExtent

Возвращает длину и высоту в пикселях текста, который предполагается написать на канве текущим шрифтом

TextHeight

Возвращает высоту в пикселях текста, который предполагается написать на канве текущим шрифтом

TextOut

Пишет указанную строку текста на канве, начиная с указанной позиции

TextRect

Пишет указанную строку текста на канве, начиная с указанной позиции и усекая текст, выходящий за пределы указанной прямоугольной области

TextWidth

Возвращает длину в пикселях текста, который предполагается написать на канве текущим шрифтом

TryLock

Блокирует канву, если она не была блокирована, не разрешая другим нитям многопоточного приложения рисовать на ней

Unlock

Уменьшает на единицу значение свойства LockCount, способствуя тем самым разблокированию канвы, когда LockCount станет равным 0

Пример 1: Написать программу, простейший графический редактор, позволяющий рисовать на поверхности формы, выбирая ширину и цвет линии, и сохранять результаты своей работы в файле как точечный рисунок. Использовать TBrush и TPen, изученные в прошлой теме.

Рисунок 6 - Окно программы после запуска

Создание проекта:

1. Создать папку для файлов программы и запустить интегрированную среду разработки Delphi.

2. Добавить на форму компоненты: компонент MainMenu. Добавить в нем пункты меню, как на рисунке ниже.

Рисунок 7 - Окно программы до запуска

Также добавить компоненты: SavePictureDialog (для сохранения изображения), ColorDialog (для выбора цвета линии).

3. В коде модуля написать код для первоначальной прорисовки формы.

procedure TForm1.FormCreate(Sender: TObject);

begin

Form1.Canvas.Pen.Width :=1;

Form1.Canvas.Brush.Color :=clWhite;

Form1.Cursor := crCross;

end;

4. Написать код обработки события нажатия на каждый пункт меню MainMenu.

5. Рисование происходит следующим образом: при нажатии левой кнопки мыши (событие OnMouseDown) точка, над которой была нажата кнопка, фиксируется, то есть назначается текущим положением пера (метод Canvas.MoveTo). После этого любое перемещение мыши (событие OnMouseMove) проводит линию от текущего положения пера до нового положения указателя мыши, и текущей позицией становится эта новая точка (метод Canvas.LineTo). Так происходит до тех пор, пока левая кнопка мыши остается нажатой. Написать код событий OnMouseDown и OnMouseMove для формы.

6. Сохранить проект. Откомпилировать программу. Закрыть Delphi и запустить программный файл из заданной папки. Отладить программу.

Полный листинг кода модуля программы расположен в Приложении 1 (Листинг программы 1).

Упражнение. Усовершенствуйте код программы примера 1. Добавьте ввод текста, выбор различных типы кистей, возможность нарисовать прямую, прямоугольник, эллипс.

Пример 2: Написать программу, строящую графики функций на поверхности формы, с использованием свойства Canvas и метода LineTo. Оси координат расположить в середине этой формы, а график растянуть на всю область формы.

Рисунок 8 - Пример оформления программы

Создание проекта:

1. Создать папку для файлов программы и запустить интегрированную среду разработки Delphi.

2. Добавить на форму компоненты: три компонента RadioButton (для выбора функции), кнопку Button и Panel (для отделения этих компонентов от остальной области формы).

3. В коде модуля необходимо добавить описания типа функцию, для того, чтобы в функцию построения графика можно было передавать имя функции. Добавить переменные: число типа integer (для отслеживания выбранного RadioButton'а ).

4. Написать процедуру следующего вида:

procedure DrawGraph (f: TFunc; a: real; b: real; C: TCanvas);

Параметры: f - функция графика, которой необходимо строить. a - начальное значение переменной “x”. b - конечное значение переменной “x”. C - канва, на которой будет построен график (в данном случае - канва формы).

5. Написать код обработки события нажатия на кнопку «Нарисовать график функции»

procedure TForm1.Button1Click(Sender: TObject);

begin

case V of

1: Graph (f1, -10, 10, Form1.Canvas);

2: Graph (f2, -10, 10, Form1.Canvas);

3: Graph (f3, -10, 10, Form1.Canvas);

end;

end;

и на каждый RadioButton

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

with (Sender as TRadioButton) do

V:=StrToInt(copy(Name, 12, Length(Name)-11));

end;

6. Сохранить проект. Откомпилировать программу. Закрыть Delphi и запустить программный файл из заданной папки. Отладить программу.

Полный листинг кода модуля программы расположен в Приложении 1 (Листинг программы 2).

Вопросы:

1. Что такое «канва»? Где она используется?

2. Из чего состоит канва?

3. Перечислите основные функции канвы.

4. Перечислите основные свойства канвы.

5. Какие четыре свойства обычно используются для рисования на канве?

6. Какое свойство определяет доступную область рисования на канве?

7. Какое свойство отвечает за копирование графического изображения на канву?

8. Перечислите основные методы канвы.

таблица рисунок форма графический

2. Графические компоненты Delphi

Библиотека визуальных компонентов (англ. Visual Component Library, VCL) Delphi для отображения графической информации предоставляет нам следующие визуальные компоненты: Image (изображение), PaintBox (окно для рисования), DrawGrid (таблица рисунков), Chart (диаграммы и графики), Animate (вывод видеоклипов), а также форма Form. Эти компоненты обладают свойством Canvas (о нем рассказано выше), который дает доступ к каждому пикселю. Конечно, рисовать попиксельно для работы с графикой в Delphi не приходится, система Delphi предоставляет мощные средства работы с графикой.

Рассмотрим вышеприведенные компоненты подробнее:

2.1 Компонент Image (изображение)

Является объектом класса TImage. Используется для вывода на экран изображений, считываемых из графических файлов. По умолчанию выводит на поверхность формы изображения представленных в *.bmp формате. Для вывода изображений в jpg формате необходимо в дерективе uses подключить модуль JPEG. Находится во вкладке Additional Палитры компонентов.

После размещения на форме компонента Image, он принимает вид выделенной прямоугольной области.

Рисунок 9 - Компонент Image на форме

Для открытия диалога для выбора нужного изображения необходимо выполнить следующее c помощью Object Inspector. Для этого находим свойство Picture и слева от него нажимаем на три точки. Открывается окно Picture Editor и в нем выбираем загрузить (Load), в раскрывшемся окне выбираем файл изображения.

Так же это можно осуществить программно путем вызова метода LoadFromFile свойства Picture:

Image1.Picture.LoadFromFile('name_pic.jpeg') ;

где name_pic.jpeg - имя файла.

Таблица 8 - Основные свойства компонента Image

Свойство

Тип

Описание

Picture

TPicture

Изображение отображающееся в поле компонента

Width, Height

Размеры компонента. Если эти размеры меньше размера иллюстрации, а значение свойств Strech, AutoSize и Proportional равны False, то отображается часть изображения

Proportional

Позволяет автоматически масштабировать картинки без искажения. Для выполнения масштабирования, значение свойства AutoSize должно быть равным False

Strech

Позволяет автоматически масштабировать (сжимать или растягивать) изображение в соответствии с размером компонента Image. Если размер компонента не пропорционален размеру изображения, то изображение будет искажено

AutoSize

Позволяет автоматически изменять размер компонента в соответствии с размером изображения

Center

Позволяет определять расположение изображения в поле компонента Image по горизонтали, если ширина картинки меньше ширины компонента.

Canvas

Поверхность, позволяющая вывести графику

Transparent

Указывает прозрачный цвет фона изображения

Пример 1: Написать программу, для просмотра изображений, с использованием компонента Image. Программа должна обладать следующими возможностями:

· просматривать изображения, находящиеся в папке;

· просматривать изображение в полном размере или в формате, наиболее походящем для размеров окна;

· управлять файлами изображений, а также печатать, сохранять, удалять и изменять изображения;

· при необходимости открывать изображение в программе редактирования;

Рисунок 10 - Окно программы до ее запуска

Создание проекта:

1. Создать папку для файлов программы и запустить интегрированную среду разработки Delphi.

2. Добавить на форму компоненты:

Вначале на форме разместим компонент Image, основной компонент с которым нам придется работать. Кроме него, нам понадобятся следующие компоненты:

· ScrollBox Он необходим в случае, когда в полноразмерном режиме изображение выйдет за пределы Image. Его свойству Aling присваиваем значение alClient для того чтобы его размеры менялись пропорционально с размерами окна. И на нем размещаем компонент Image;

· Также добавим компоненты-диалоги SavePictureDialog и OpenPictureDialog, предназначенные для сохранения и открытия изображений. Первый нам необходим для копирования изображения в выбранную директорию, вторая - для вызова диалога открытия графического файла. Расположены они на странице Dialogs Палитры компонентов. Еще из этой страницы нам понадобится компонент PrintDialog, нужный нам для вызова диалога выбора принтера для печати.

· Добавим MainMenu для добавления к программе главного меню и XPManifest для более красочного оформления

· Так же нам необходимо где-то хранить имена изображений, лежащих в рабочей директории. Для этих целей удобен компонент ListBox, который при обработке события Create формы Form1 можно скрыть.

· Для размещения кнопок навигации и удобной работы с ними добавим панель Veil, на которой и разместим эти кнопки (Предыдущее изображение, Следующее изображение, Истинный размер, Подогнать размер, Удалить, Копировать в, Печать, Редактировать). В качестве компонента для них выбран SpeedButton.

· Добавляем таймер для отлова нажатий клавиш «Влево» (предыдущее изображение), «Вправо» (следующее изображение) и клавиши «Del» (удаление изображения).

· И еще один компонент - ProgressBar, отображающий процесс загрузки больших *.Jpg файлов.

3. Написать код обработки события нажатия на кнопки (Предыдущее изображение, Следующее изображение, Истинный размер, Подогнать размер, Удалить, Копировать в, Печать, Редактировать). Написать код обработки события нажатия на пункты меню MainMenu (Выход, Открыть, Закрыть, Создать).

4. Задать начальные установки создания формы. Дважды щелкнуть мышью по свободному месту формы и написать код процедуры procedure TForm1.FormCreate(Sender:TObject), см. код модуля в Приложении 1.

5. Написать процедуры следующего вида:

procedure FindFileInFolder(path, ext: string);

Эта процедура сканирует папку path на наличие файлов по маске ext.

6. Сохранить проект. Откомпилировать программу. Закрыть Delphi и запустить программный файл из заданной папки. Отладить программу.

Полный листинг кода модуля программы расположен в Приложении 1 (Листинг программы 3).

Вопросы:

1. Перечислите возможности компонента Image.

2. Объектом какого класса является компонент Image?

3. 3. Какой тип файлов по умолчанию поддерживает компонент Image?

4. 4. Перечислите основные свойства компонента Image.

5. 5. Какое свойство хранит изображение компонента Image?

2.2 Компонент Chart (диаграммы и графики)

Используется для создания и отображения диаграмм и графиков различных типов. Является контейнером объектов Series типа TChartSeries - серий данных, характеризующихся различными стилями отображения. Каждая серия будет соответствовать одной кривой на графике. Находится во вкладке Additional Палитры компонентов.

После размещения на форме компонента Chart, он принимает следующий вид:

Рисунок 11 - Компонент Chart на форме

Свойства Chart удобно устанавливать специальным Редактором Диаграмм, вызываемым из Инспектора Объектов нажатием кнопки с многоточием около соответствующего свойства или двойным щелчком на компоненте Chart. Свойства также устанавливаются программно.

Для задания отображаемых значений используются методы серий Series. Основные из них:

· Clear - очищает серию от занесенных ранее данных

· Add - позволяет добавить в диаграмму новую точку

· AddXY - позволяет добавить новую точку в график функции

Таблица 9 - Основные свойства Chart

AllowPanning

Определяет возможность пользователя прокручивать наблюдаемую часть графика во время выполнения, нажимая правую кнопку мыши. Возможные значения:pmNone --прокрутка запрещена, pmHorizontal, pmVertical или pmBoth -- разрешена соответственно прокрутка только в горизонтальном направлении, только в вертикальном или в обоих направлениях.

AllowZoom

Позволяет пользователю изменять во время выполнения масштаб изображения, вырезая фрагменты диаграммы или графика курсором мыши.

Title

Определяет заголовок диаграммы.

Foot

Определяет подпись под диаграммой. По умолчанию отсутствует. Текст подписи определяется подсвойством Text.

Frame

Определяет рамку вокруг диаграммы.

Legend

Легенда диаграммы -- список обозначений.

MarginLeft , MarginRight , MarginTop, MarginBottom

Значения левого, правого, верхнего и нижнего полей.

BottomAxis, LeftAxis, RightAxis

Эти свойства определяют характеристики соответственно нижней, левой и правой осей. Задание этих свойств имеет смысл для графиков и некоторых типов диаграмм.

LeftWall, BottomWall, BackWall

Эти свойства определяют характеристики соответственно левой, нижней и задней граней области трехмерного отображения графика

SeriesList

Список серий данных, отображаемых в компоненте.

View3d

Разрешает или запрещает трехмерное отображение диаграммы.

View3DOptions

Характеристики трехмерного отображения.

Chart3DPercent

Масштаб трехмерности.

Множество свойств TChart определяют оформление графика - оси координат (они могут быть со всех 4-ех сторон), трехмерную имитацию отображения и т.п.

Пример 1: Написать программу которая строит график функции y=5*cos(x).

Рисунок 12 - Окно программы до ее запуска

Создание проекта:

1. Создать папку для файлов программы и запустить интегрированную среду разработки Delphi.

2. Добавить на форму компонент Chart и кнопку Button.

3. Дважды нажать на компонент Chart. В открывшемся меню выбрать Char Series Add Line.

4. Редактировать: нажать Title. В открывшемся меню в поле под строкой New Series Title y(x)=5*cos(x). Нажать ОK, затем Close.

5. Написать код обработки события нажатия кнопки «y=5*cos(x)»:

procedure TForm1.BitBtn1Click(Sender: TObject);

var

i:integer;

begin

Series1.Clear;

for i:=0 to 22 do

Series1.AddXY(i*0.29,10*sin(i*0.29),'',clGreen);

end;

6. Сохранить проект. Откомпилировать программу. Закрыть Delphi и запустить программный файл из заданной папки. Отладить программу.

Полный листинг кода модуля программы расположен в Приложении 1 (Листинг программы 4).

Пример 2: Написать программу, в которой разметка осей декартовой системы координат 0х от -Pi до +Pi, 0у от -1 до +1, с задаваемым шагом разметки. Построить график функций.

Рисунок 13 - Окно программы до ее запуска

Создание проекта:

1. Создать папку для файлов программы и запустить интегрированную среду разработки Delphi.

2. Добавить на форму компоненты:

Вначале на форме разместить компонент Chart, основной рабочий компонент. Кроме него, необходимы следующие компоненты:

· Компонент MainMenu для добавления к программе главного меню и компонент XPManifest для более красочного оформления

· Кнопки Button «Разметить оси», «Построить график», «Выход».

· И для ввода информации поместить на форму 3 Edit'a, для их подписи 3 Label'a.

3. Написать код обработки события нажатия на кнопки (Разметить оси, Построить график, Выход). Написать код обработки события нажатия на пункты меню MainMenu (Разметить оси, Построить график, О программе, Выход), см. код в Приложении 1.

4. Задать начальные установки создания формы. Дважды щелкнуть мышью по свободному месту формы и написать код процедуры procedure TForm1.FormCreate(Sender:TObject), см. код в Приложении 1.

5. Задать функции для построения. Дважды щелкнуть мышью по компоненту Chart. В открывшемся меня выбрать Chart Series Add.

6. Сохранить проект. Откомпилировать программу. Закрыть Delphi и запустить программный файл из заданной папки. Отладить программу.

Полный листинг кода модуля программы расположен в Приложении 1 (Листинг программы 6).

Вопросы:

1. Перечислите возможности компонента Chart.

2. Объектом какого класса является компонент Chart?

3. Как в компоненте Chart задать функцию (график)?

4. Перечислите основные свойства Chart.

2.3 Компонент DrawGrid (таблица рисунков)

Используется для представления графических изображений в виде таблицы. DrawGrid отвечает за разбивку области на прямоугольные ячейки, добавление и удаление строк и столбцов, прокрутку, управление вводом данных и обработку всех поступающих сообщений. Находится во вкладке Additional Палитры компонентов.

После размещения на форме компонента DrawGrid, он принимает вид таблицы.

Рисунок 14 - Компонент DrawGrid на форме

Таблица делится на две области -- фиксированную и подвижную. Фиксированную область обычно составляют часть строк и столбцов в верхней части таблицы. Такие ячейки необходимы, например, для вертикальных и горизонтальных заголовков. Они выделяются другим цветом, всегда видимы и в прокрутке не участвуют, оставаясь на своих местах. Их нельзя сфокусировать и выделить. Кроме того, изменять ширину и высоту ячеек таблицы мышью во время исполнения можно только передвигая границы ячеек в фиксированной области. По умолчанию для этой области отведены один столбец и одна строка, но эти числа могут быть изменены. Все остальные ячейки перемещаются при прокрутке таблицы и составляют подвижную область.

Свойства TDrawGrid, определяющие его внешний вид, приведены в таблице.

Таблица 10 - Основные свойства DrawGrid

ColCount: Longint; RowCount: Longint;

Содержат количество строк и столбцов в таблице.

Col:Longint;

Row: Longint;

Содержат номера столбца и строки, содержащих сфокусированную ячейку.

ColWidths[Index: Longint]: Integer; RowHeights[Index: Longint]: Integer;

Свойства-массивы, содержащие ширину каждого столбца и высоту каждой строки.

DefaultColWidth: Integer;

DefaultRowHeight: Integer;

Содержат ширину столбца и высоту строки, принимаемые по умолчанию.

GridHeight: Integer;

GridWidth: Integer;

Содержат высоту и ширину всей таблицы. Эти свойства доступны только для чтения, так как являются производными от числа ячеек и их размеров.

FixedCols: Integer;

FixedRows: Integer;

Содержат соответственно число строк и столбцов в фиксированной области.

FixedColor: TColor;

Содержит цвет, которым происходит закрашивание ячеек фиксированной области.

TopRow: Longint; LeftCol: Longint;

Содержат номера верхней строки и левого столбца, видимых в подвижной области.

GridLineWidth: Integer;

Толщина линий, разделяющих ячейки таблицы

VisibleColCount: Integer;

VisibleRowCount: Integer;

Содержат соответственно число полностью видимых столбцов и строк в подвижной области.

Пример 1. Написать программу, решающую задачу расстановки N ферзей на шахматной доске размером NxN. Количество ферзей и размер поля задаются пользователем.

Рисунок 15 - Окно программы до ее запуска

Создание проекта:

1. Создать папку для файлов программы и запустить интегрированную среду разработки Delphi.

2. Добавить на форму компоненты:

Вначале на форме разместить компонент DrawGrid, основной рабочий компонент. Кроме него, необходимы следующие компоненты:

· Кнопка Button «Вывести решение».

· И для ввода информации поместить на форму Edit (для ввода размерности), Label и Memo (для вывода координат).

3. Написать код обработки события нажатия на кнопки (Вывести решение), см. код в Приложении 1.

4. Задать начальные установки создания формы. Дважды щелкнуть мышью по свободному месту формы и написать код процедуры procedure TForm1.FormCreate(Sender:TObject), см. код в Приложении 1.

5. Написать код следующих процедур: Quin (основная), Print (вывод в DrawGrid текущего решения), Q8TryAll(поиск номера текущей горизонтали), см. код в Приложении 1.

6. Сохранить проект. Откомпилировать программу. Закрыть Delphi и запустить программный файл из заданной папки. Отладить программу.

Полный листинг кода модуля программы расположен в Приложении 1 (Листинг программы 7).

Вопросы:

1. Перечислите возможности компонента DrawGrid.

2. Объектом какого класса является компонент DrawGrid?

3. Как в ячейку компонента DrawGrid вывести текст?

4. 4. Перечислите основные свойства Chart.

2.4 Компонент PaintBox (окно для рисования)

Используется для рисования произвольных изображений. Является объектом класса TPaintBox. Находится во вкладке System Палитры компонентов. Графические инструменты содержаться в свойствах Font, Brush и Pen. Само рисование программируется в обработчике события onPaint. Компонент обладает всеми свойствами Canvas.

Замечание: у компонента PaintBox есть один недостаток проявляющий себя только на Windows XP: если работающую программу свернуть или перекрасть окном другой программы то все содержимое компонента стирается. В этом компоненте имеются следующие свойства для рисования.

Таблица 11 - Свойства компонента PaintBox

Canvas

канва для рисования;

Font

для выбора шрифта на поверхности рисования;

Pen

для установки параметров пера;

Brush

для установки параметров кисти;

Picture

для выбора готового изображения.

Пример 1. Написать программу, рисующую в PaintBox фигуру (см. Рисунок 16) с движущимся пикселем по контуру этой фигуры.

Рисунок 16. Окно программы после ее запуска

Создание проекта:

1. Создать папку для файлов программы и запустить интегрированную среду разработки Delphi.

2. Добавить на форму компонент PaintBox и Timer .

3. Задать начальные установки создания формы. Дважды щелкнуть мышью по свободному месту формы и написать код процедуры procedure TForm1.FormCreate(Sender:TObject), см. код в Приложении 1.

4. Написать код обработки события запуск таймера, см. код в Приложении 1.

5. Сохранить проект. Откомпилировать программу. Закрыть Delphi и запустить программный файл из заданной папки. Отладить программу.

Полный листинг кода модуля программы расположен в Приложении 1 (Листинг программы 7) .

Вопросы:

1. Перечислите возможности компонента PaintBox.

2. Объектом какого класса является компонент PaintBox?

3. Какими графическими инструментами обладает компонент PaintBox?

4. В каком обработчике события программируется рисование?

5. Какое свойство компонента PaintBox используется для загрузки готового изображения?

6. Перечислите основные свойства PaintBox.

Заключение

Разработанные учебные материалы по графическим объектам Delphi предназначены для работы с обучаемыми в группе. Изучение данного учебного материала позволяет не только получить общие теоретические знания, но и закрепить их с помощью практических заданий.

Обучающий в начале каждого занятия рассказывает новый материал по графическим объектам Delphi, включающий теоретическое и практическое содержание, о том, как выполнять задания, приведенные в данной разработке. Затем предлагает обучаемым выполнить задания, пользуясь указаниями. Выполняя задания, имеется возможность консультироваться с преподавателем, а также с другими обучаемыми, выполняющими тоже задание.

После выполнения заданий с указаниями обучаемый должен ответить на вопросы, предлагаемые по теме.

В конце занятия преподаватель может проводить устный опрос по пройденному материалу пользуясь предлагаемыми вопросами. Если обучаемый не может на них ответить, то нужно обратить внимание на то, что ответы на вопросы содержатся в теоретическом и практическом материале каждой темы.

Опрос по пройденному материалу полезно проводить и в начале занятия для подготовки изучения следующей темы. В предлагаемых учебных материалах применяется принцип от простого к сложному и в каждой новой теме используются знания умения и навыки предыдущей.

Список используемой литературы

1. Архангельский А. Я. Приемы программирования в Delphi на основе VCL / А. Я. Архангельский. - СПб.: БХВ-Петербург, 2005.

2. Архангельский, А. Я. Delphi 7. Справочное пособие / А. Я. Архангельский. СПб.: БХВ-Петербург, 2005.

3. Архангельский, А. Я. Приемы программирования в Delphi на основе VCL / А. Я. Архангельский. - М.: Бином-Пресс, 2006.

4. Бобровский, С. И. Технологии Delphi 2006. Новые возможности / С. И. Бобровский. - СПб. : Питер, 2006.

5. Вежневец, В., Краткое неформальное введение в графику Windows [Электронный ресурс], - http://www.ict.edu.ru/ft/002400/num5grwin.pdf

6. Зайцев, О. В. Графика в Delphi / О.В. Зайцев, А. М. Владимиров. - СПб. : Наука и техника, 2007.

7. Кузан, Д.Е. Программирование Win32 API в Delphi / Д. Кузан, В. Шапоров. СПб.: БХВ-Петербург, 2005. - 682с.

8. Культин, Н. Б. Delphi в задачах и примерах / Н. Б. Культин. - СПб. : БХВ-Петербург, 2004.

9. Культин, Н.Б. Основы программирования в Delphi 7 / Н. Б. Культин. - СПб. : БХВ-Петербург, 2003.

10. Леоненко, А.Н. Высокоуровневые методы информатики и программирования в среде Delphi: учебное пособие / А.Н. Леоненко, А.Е. Руденко. - Омск: Изд-во ОмГПУ, 2011.

11. Осипов, Д.Л. Графика в проектах Delphi / Д.Л. Осипов. - СПб.: Символ-Плюс, 2008. - 648 с.

12. Порев, В.А. Компьютерная графика / В. Порев - СПб.: БХВ-Петербург, 2008. - 518 с.

13. Сухарев, М. В. Основы Delphi. Профессиональный подход / М. В. Сухарев. - СПб. : Наука и техника, 2004.

14. Тюкачев, Н.В. Программирование графики в Delphi / Н. Тюкачев, И.Илларионов, В. Хлебостроев - СПб.: БХВ-Петербург, 2008. - 779 с.

15. Фаронов, В.В. Delphi 2005. Язык, среда, разработка приложений / В. В. Фаронов. - СПб. : Питер, 2005.

16. Царева, И.Н. Основы программирования в среде Delphi: учеб.-метод. пособие / И.Н. Царева. - Краснодар: КубГУ, 2010.

17. Шикин, Е.В. Компьютерная графика. Динамика, реалистические изображения / Е.В. Шикин, А.В. Боресков - СПб.: Диалог-МИФИ, 2005.

18. Шикин, Е.В. Начала компьютерной графики / Е.В. Шикин, А.В. Боресков, А. А. Зайцев. - СПб.: Диалог-МИФИ, 2008.

19. Шпак, Ю. А. Delphi 7 на примерах / Ю. А. Шпак. - М.: Юниор, 2003. - 384 с.

Приложение 1

Листинг программы 1

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtDlgs, Menus;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

ColorDialog1: TColorDialog;

SavePictureDialog1: TSavePictureDialog;

procedure N1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation {$R *.dfm}

procedure TForm1.N1Click(Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.Canvas.Pen.Color := ColorDialog1.Color;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Form1.Canvas.Brush.Color := clWhite;

Form1.Canvas.FillRect(Rect (0, 0, Form1.Width, Form1.Height));

end;

procedure TForm1.N3Click(Sender: TObject);

var

Pattern: TBitmap;

Region: TRect;

begin

if SavePictureDialog1.Execute then begin

Pattern := TBitmap.Create;

try

Pattern.Width := Form1.Width;

Pattern.Height := Form1.Height;

Region := Rect(0, 0, Pattern.Width, Pattern.Height);

Pattern.Canvas.CopyRect(Region, Form1.Canvas, Region);

Pattern.SaveToFile(SavePictureDialog1.FileName);

finally

Pattern.Free;

end; end;

end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

if (ssLeft in Shift) then

Form1.Canvas.LineTo(X, Y);

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Form1.Canvas.MoveTo(X, Y);

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form1.Canvas.Pen.Width := Form1.Canvas.Pen.Width + 1;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form1.Canvas.Pen.Width := Form1.Canvas.Pen.Width - 1;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Form1.Canvas.Pen.Width :=1;

Form1.Canvas.Brush.Color :=clWhite;

Form1.Cursor := crCross;

end;

end.

Листинг программы 2

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TFunc = function (x: real): real;

TForm1 = class(TForm)

Panel1: TPanel;

Button1: TButton;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

procedure RadioButton1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

V: Integer;

Implementation {$R *.dfm}

function f1(x: real): real;

begin

Result := sin(x)*cos(x);

end;

function f2(x: real): real;

begin

Result := sin(x);

end;

function f3(x: real): real;

begin

Result := cos(x);

end;

procedure Graph (f: TFunc; a: real; b: real; C: TCanvas);

var

x, y, h: real;

max, min: real;

sx, sy: real;

xmid, ymid: integer;

begin

sx := (c.ClipRect.Right)/(b-a);

h := 1/sx;

xmid := c.ClipRect.Right div 2;

ymid := c.ClipRect.Bottom div 2;

x := a;

max := f(x);

min := max;

while x <= b do

begin

y := f( x);

if y < min then min := y;

if y > max then max := y;

x := x + h;

end;

sy := c.ClipRect.Bottom/(max-min);

c.Brush.Color := clBlack;

c.FillRect(Rect(0, 0, c.ClipRect.Right, c.ClipRect.Bottom));

c.Pen.Color := clYellow;

c.MoveTo(0, ymid);

c.LineTo(c.ClipRect.Right, ymid);

c.MoveTo(xmid, 0);

c.LineTo(xmid, c.ClipRect.Bottom);

x := a;

y := f(x);

c.Pen.Color := clWhite;

c.MoveTo(xmid+round(sx*x), ymid-round(sy*y));

while x <= b do

begin

y := f(x);

c.LineTo(xmid+round(sx*x), ymid-round(sy*y));

x := x + h;

end;

end;

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

with (Sender as TRadioButton) do

V:=StrToInt(copy(Name, 12, Length(Name)-11));

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

case V of

1: Graph (f1, -10, 10, Form1.Canvas);

2: Graph (f2, -10, 10, Form1.Canvas);

3: Graph (f3, -10, 10, Form1.Canvas);

end;

end;

end.

Листинг программы 3

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, XPMan, ExtCtrls, StdCtrls, jpeg, ComCtrls, ExtDlgs, Printers, ShellAPI,

Buttons;

type

TForm1 = class(TForm)

buttons_i1: TXPManifest;

MainMenu1: TMainMenu;

delN1: TMenuItem;

delN2: TMenuItem;

delN3: TMenuItem;

delN4: TMenuItem;

delN5: TMenuItem;

delN7: TMenuItem;

delN8: TMenuItem;

delN9: TMenuItem;

Veil_i: TPanel;

ProgressBar: TProgressBar;

OpenDlg: TOpenPictureDialog;

scrlbx1: TScrollBox;

img: TImage;

ListBox1: TListBox;

TSavePictureDialog1: TSavePictureDialog;

PrintDialog1: TPrintDialog;

l: TSpeedButton;

r: TSpeedButton;

saveto: TSpeedButton;

print1: TSpeedButton;

del1: TSpeedButton;

Edit1: TSpeedButton;

Button12: TSpeedButton;

Button13: TSpeedButton;

Timer1: TTimer;

procedure delN4Click(Sender: TObject);

procedure delN3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedur...


Подобные документы

  • Сущность программирования с использованием среды Delphi 7 и ее основные графические возможности. Структура автономно компилируемого программного модуля и его принципы. Основные приемы работы с графическими процедурами, построение дуги, круга и эллипса.

    курсовая работа [138,2 K], добавлен 16.12.2011

  • Создание приложения для просмотра графических файлов. Компоненты, объекты и операторы для отображения графической информации в библиотеке Delphi. Канва как область компонента для рисования и отображения изображений. Рисование пером, закрашивание кистью.

    методичка [98,1 K], добавлен 19.06.2011

  • Растровые и векторные графические редакторы. Форматы файлов, используемые для хранения графических изображений. Графические редакторы, используемые для создания изображений. Редакторы для создания трехмерных изображений. Создание графического редактора.

    курсовая работа [306,5 K], добавлен 23.08.2013

  • Средства языка программирования Delphi. Структурные типы данных. Строковые переменные, массивы, множества, файлы. Механизм классов в C++. Интерфейсный и описательный обзоры классов в Delphi. Работа с текстовыми и бинарными файлами прямого доступа.

    курсовая работа [990,4 K], добавлен 07.08.2012

  • Графические возможности текстовых процессоров Microsoft Office Word и Open office.org. Вставка в документы рисунков и других объектов. Встраивание и связывание объектов. Преобразование текста посредством Microsoft WordArt. Виды графических объектов.

    реферат [4,3 M], добавлен 17.06.2015

  • Особенности среды визуального проектирования Borland Delphi 7.0. Этапы разработки программы и составления блок-схемы алгоритмов. Способы вычисления кусочно-заданной функции одной переменной. Рассмотрение компонентов среды Delphi, ее предназначение.

    контрольная работа [703,8 K], добавлен 24.09.2012

  • Разработка базы данных книжного магазина в среде программирования Delphi. Создание таблиц и их заполнение. Требования к составу и параметрам технических средств. База данных как набор файлов, содержащих информацию. Этапы создания приложения в Delphi.

    курсовая работа [803,6 K], добавлен 04.11.2012

  • Разработка программы для фирм, занимающихся продажей и учетом лекарственных средств. Структурный анализ с помощью диаграмм SADT и диаграмм "сущность-связь". Создание приложения в Delphi и таблиц базы данных. Организация пользовательского интерфейса.

    курсовая работа [618,5 K], добавлен 30.11.2009

  • Среда Borland Delphi и ее графические средства для построения фрактальных множеств. Разработка программы для построения изображения листа папоротника при помощи вероятностных распределений с использованием средств для отображения графической информации.

    курсовая работа [1,3 M], добавлен 29.07.2013

  • Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

    дипломная работа [3,6 M], добавлен 13.07.2011

  • Разработка программного приложения в среде Delphi. Создание таблиц и их заполнение. Форма редактирования записи. Реализация SQL запросов и поиска. Создание отчётов по БД. Руководство пользователя. Требования к составу и параметрам технических средств.

    курсовая работа [1,3 M], добавлен 03.11.2014

  • Разработка информационной системы административного управления. Выбор языка и среды программирования. Структура взаимодействия информации. Требования к программно-аппаратному окружению. Создание программы в Delphi и связывание ее с базой данных.

    курсовая работа [1010,9 K], добавлен 08.10.2015

  • Изучение основных принципов разработки приложений баз данных в среде Delphi. Создание таблиц, псевдонима и вычисляемых полей базы данных. Особенности организации поиска и фильтрации. Сортировка данных в таблицах. Построение запросов. Генерация отчетов.

    курсовая работа [1,3 M], добавлен 05.02.2017

  • Игра арканный симулятор гонок разработана: в среде Delphi 5 с использованием библиотеки OpenGL 1.3.4582, Pixia 2.4g для создания и редактирования текстур, Image Editor 3.0 для создания иконок, 3D-Stydio Max 5.0 для создания моделей машин (игрока).

    курсовая работа [34,1 K], добавлен 23.12.2007

  • Форматирование текста, работа с таблицами. Добавление графических объектов в документ. Создание формул, построение диаграмм. Основные приемы работы в электронных таблицах Excel. Графические возможности в Microsoft Word. Решений нелинейных уравнений.

    контрольная работа [743,9 K], добавлен 27.05.2013

  • Программирование и простейшие графические возможности. Основные структуры для представления и два конструктора с аргументами. Дальнейшие координаты точки и инициализирование новой. Хранение и изменение координат левого верхнего угла прямоугольника.

    лабораторная работа [24,2 K], добавлен 01.12.2011

  • Векторная компьютерная графика. Графические примитивы. Графические возможности языка программирования Pascal. Методические рекомендации к изучению графики в языке программирования Pascal. Построение графиков функций.

    курсовая работа [28,3 K], добавлен 13.06.2007

  • Анализ информационной системы ИНЭК "Страховщик". Описание предметной области с использованием модели "сущность-связь". Моделирование бизнес-процессов с помощью IDEF0-диаграмм. Проектирование и разработка приложения в среде Delphi и создание интерфейса.

    отчет по практике [4,9 M], добавлен 28.12.2014

  • Понятие компьютерной графики. Представление графической информации в компьютере. Графические форматы и редакторы. Характеристика программы, интерфейса. Возможности использования программы CorelDraw. Возможности создания сложных графических изображений.

    дипломная работа [1,1 M], добавлен 04.01.2011

  • Общая характеристика системы программирования Delphi, а также принципы создания ее компонентов. Описание значений файлов приложения, созданного с помощью Delphi. Структура и свойства библиотеки визуальных компонентов (Visual Component Library или VCL).

    отчет по практике [1,1 M], добавлен 07.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.