Название: Можливості графічної підсистеми Delphi 5
Вид работы: лабораторная работа
Рубрика: Информатика и программирование
Размер файла: 44.54 Kb
Скачать файл: referat.me-140199.docx
Краткое описание работы: Графічна підсистема Delphi 5, її можливості, інструменти та принципи побудови прикладних програм з використанням графіки; дочірні класи. Методи опрацювання графічних зображень різних форматів і типів: растрових файлів, метафайлів Windows, піктограм.
Можливості графічної підсистеми Delphi 5
Лабораторна робота № 3
Робота з графікою
Мета роботи: вивчити можливості графічної підсистеми Delphi 5, її властивості та принципи побудови прикладних програм з використанням графіки.
Порядок роботи:
1. Створити проект для виконання індивідуального завдання.
2. Оформити звіт для захисту лабораторної роботи за зразком
· назва роботи
· мета роботи
· порядок роботи
· короткі теоретичні відомості
· алгоритм розв’язку задачі
· тексти відповідних модулів проекту
· аналіз отриманих результатів та висновки
Питання для самоконтролю
1. Які класи відповідають за роботу з графікою в Delphi?
2. Які графічні інструменти представлені в Delphi?
3. Охарактеризуйте властивості та методи класу TCanvas .
4. Які існують типи графічних зображень?
5. Як завантажити на форму зображення з файлу?
delphi клас графічний зображення
Короткі теоретичні відомості
Створення зображень
У Win32 для малювання об’єктів, які ми бачимо на екрані комп’ютера використовується інтерфейс GDI (Graphic Device Interface ). До появи Delphi програміст безпосередньо працював з функціями та інструментами GDI (пером, пензлем та шрифтом) через графічний контекст вікна.
Для використання графічних інструментів Windows у Delphi створені відповідні класи: для графічного контексту - клас TCanvas , для пера - TPen , для пензля – TBrush , для шрифту - TFont . Об’єкти цих класів автоматично створюються для форми і більшості видимих елементів на формі і стають доступними через властивості Canvas , Pen , Brush та Font .
Наступні два приклади демонструють наскільки застосування Delphi спрощує роботу з графікою в Win32. Приклад 1 використовує стандартні GDI-функції, приклад 2 створює аналогічний малюнок засобами класів Delphi.
Приклад 1
procedure TForm1.FormPaint(Sender: TObject);
var
PaintDC: HDC;
PenHandle, OldPenHandle: HPEN;
BrushHandle, OldBrushHandle: HBRUSH;
begin
PaintDC: = GetDC(Handle);{ отриматиграфічнийконтекстформи }
PenHandle:= CreatePen(PS_SOLID, 1, RGB(0, 0, 255));{ створити синє перо }
OldPenHandle: = SelectObject(PaintDC, PenHandle);{ використати його у графічному контексті }
BrushHandle: = CreateSolidBrush(RGB(255, 255, 0));{ створити жовтий пензель }
OldBrushHandle: = SelectObject(PaintDC, BrushHandle);{ використати його у графічному контексті }
Ellipse(PaintDC, 10, 10, 50, 50);{ намалювати еліпс }
SelectObject(PaintDC, OldBrushHandle);
{ відновити попередній пензель }
DeleteObject(BrushHandle);{ знищити жовтий пензель }
SelectObject(PaintDC, OldPenHandle);{ відновити попереднє перо }
DeleteObject(PenHandle);{ знищити синє перо }
end;
Приклад 2
procedure TForm1.FormPaint(Sender: TObject);beginwith Canvas do { працюємозвластивістю Canvas класу TForm}beginPen.Color: = clBlue;{ створити синє перо }
Brush.Color: = clYellow;{ створити жовтий пензель }
Ellipse(10, 10, 50, 50);{ намалювати еліпс }end;end;
Canvas (канва, полотно) - це площа видимого елемента на формі, на якій можна малювати (графічний контекст вікна). Вона є однією з властивостей видимого елемента. Font , Pen та Brush є підвластивостями Canvas .
Деякі видимі елементи не мають властивість Canvas , наприклад панелі - компоненти класу TPanel . На таких компонентах можна малювати, якщо розмістити на них спеціальну компоненту класу TPaintBox . Крім того об’єкти PaintBox можна використовувати для обмеження на формі чи на деякій компоненті ділянки малювання одним чи декількома прямокутниками.
У процесі розробки проекту властивість Canvas недоступна у вікні Object Inspector . Щоб використати Canvas слід присвоїти її підвластивостям необхідні значення та викликати потрібні методи (див. приклад 2).
Клас TCanvas інкапсулює графіку Windows різного рівня. До нього включені функції високого рівня для малювання ліній, фігур або тексту, можливості середнього рівня для роботи з графічними інструментами та можливості найнижчого рівня - безпосереднього доступу до об’єктів Win32 GDI.
Наступна таблиця ілюструє можливості TСanvas .
Рівень | Операції | Інструменти |
Вищий | Малювання ліній та фігур Зміна розмірів та вивід тексту Зафарбовування площини фігури |
MoveTo, LineTo, Rectangle, Ellipse (методи) TextOut, TextHeight, TextWidth, TextRect (методи) FillRect, FloodFill (методи) |
Середній | Маніпулювання графічними інструментами Маніпулювання пікселами Копіювання та переміщення зображень |
Pen, Brush, Font (властивості) Pixels (властивість) Draw, StretchDraw, BrushCopy, CopyRect (методи) CopyMode (властивість) |
Нижчий | Виклик функцій Win32 GDI | Handle (властивість) |
Pen (перо) - це лінія, яка виділяє зовнішній контур фігури. Можна задавати товщину (підвластивість Width ), колір (Color ), вигляд (Style ), спосіб малювання лінії (накладання кольору лінії на поверхню - Mode ).
Brush (пензель) - це площина фігури, тобто внутрішня від контуру частина. Можна задавати колір (Color ) та спосіб зафарбовування(Style ), наприклад, горизонтальними чи діагональними лініями.
Font (шрифт) - використовують для опису шрифтів, які застосовують під час виведення тексту (за допомогою методів TextOut або TextRect класу TCanvas ). Має підвластивості Name (назва), Style (стиль), Color (колір), Size (розмір).
Опрацювання зображень
Клас TGraphic у Delphi забезпечує базові інструменти для використання графічних файлів. Для опрацювання графічних зображень різних форматів введені дочірні класи: TBitmap - растрові файли (*.bmp ), TMetafile - метафайли Windows (*.wmf, *.emf ), та TIcon - піктограми (*.ico ). Також можна ввести власні дочірні класи.
Растрові файли (bitmaps) - це файли з двійковою інформацією у вигляді бітів, послідовність яких складає графічний образ. Зокрема, в цих бітах зберігається інформація про колір пікселів. Растри бувають двох типів - залежні від пристроїв(device dependent bitmaps - DDB) і незалежні (device independent bitmaps - DIB).
На відміну від растрів, метафайли - це векторні графічні зображення, що надає можливість довільної зміни розмірів, без впливу на гладкість ліній і дуг, на відміну від растрових зображень.
Піктограми - це ресурси, що, як правило, зберігаються у файлі з розширенням (*.ico ) або у файлах ресурсів з розширенням (*.res ). Існує два типових розміри піктограм у 32-бітних версіях Windows: великі (32´32) та малі (16´16). У всіх прикладних програмах для Windows використовуються обидва розміри. Малі піктограми розміщуються в лівому верхньому куті головного вікна прикладної програми, а також в елементах управління Windows, що представляють списки, великі піктограми можна розмістити на панелі задач прикладної програми або у вікні повідомлення.
Для виведення малюнків на екран використовується клас TImage . За допомогою відповідної компоненти (сторінка палітри Additional ) можна завантажити та відобразити в будь-якому місці екрану чи форми файл будь-якого формату, що опрацьовуються класами-нащадками TGraphic . Графічні дані зберігаються у властивості Рicture (класу TPicture ) об’єкта TImage . Клас TPicture є контейнером для графіки, тобто може містити будь-який зі згаданих класів графічних файлів. Для завантаження та збереження зображення використовують відповідні методи класу TPicture, наприклад:
MyImage.Picture.LoadFromFile('FileName.BMP');
Для копіювання зображень використовуються методи TCanvas Draw (копіювання всього малюнку), StretchDraw (копіювання всього малюнку зі зміною розміру (стиск або розтяг)), CopyRect (копіювання частини малюнку), BrushCopy (копіювання малюнку разом з растровими операціями). Для копіювання одного растру в інший можна застосувати метод TBitmap Assign.
Завдання
Створити програму, яка будує криві за заданим параметричним представленням (варіанти 1, 3, 5, 7, 9, 11, 13, 15, 17) або по їх рівняннях у полярних координатах (варіанти 2, 4, 6, 8, 10, 12, 14, 16, 18).
Параметричне представлення кривої на площині з координатами
- це дві функції
,
, визначені на одній і тій самій числовій множині.
Полярні координати точки
на площині - це відстань
від фіксованої точки
(полюса) до точки
і кут
між
і полярною віссю (променем)
.
1. Трактриса
,
,
,
2. Спіраль "жезл"
,
.
3. Суперколо
,
,
,
4. Лемніската
,
,
.
5. Циссоїда
,
,
,
.
6. Синусоїдальна спіраль
,
,
.
7. Кардіоїда
,
,
,
8. Спіраль Кейлі шостого порядку
,
.
9. Циклоїда
,
,
,
10. Спіраль Архімеда
,
.
11. Строфоїда
,
,
,
.
12. Квадратична спіраль
,
.
13. Дельтоїд
,
,
,
14. Трисектриса
,
.
15. Астроїда
,
,
16. Спіраль Ферма
,
.
17. Евольвента кола
,
,
,
18. Логарифмічна спіраль
,
,
.
Похожие работы
-
Графічна бібліотека OpenGl
Програма створення графіки OpenGl. Алгоритми зафарбовування від внутрішньої точки до границь довільного контуру. Алгоритм обчислення координати точки кривої Без'є за заданними параметрами. Створення програм OpenGL мовою С, C++ у середовищі Windows.
-
Засоби векторної трасировки растрових зображень в Corel Drow
Поняття трассировки та її значення в роботі комп'ютерного дизайнера. Розвиток інструментів трассировки в програмі Corel Drow. Способи та процеси векторної трассировки растрових зображень: автоматичне, ручне та утиліта, їх головні недоліки та привілеї.
-
Робота з пакетом Grapher 2.0 for Windows
Опис програми Grapher, призначеної для математичної і графічної обробки даних, що описуються одновимірною функцією. Процес побудови графіка. Запис файлу даних мовою програмування Pascal. Моделювання вигляду апроксимаційних кривих та дискретних точок.
-
3D-формати і їх застосування
Характеристика форматів, які містять у собі опис тривимірних об'єктів. Мова моделювання віртуальної реальності, способи відображення координатних перетворень. Класифікація форматів графічних зображень, їх специфічні ознаки, призначення та застосування.
-
Растрові та векторні формати зображень
Растрові формати зображень tiff, bmp, pcx, gif, jpeg, png, опис растрової графічної інформації. Зручність та недоліки векторних форматів. Зберігання і обробка зображень, що складаються з ліній, або можуть бути розкладені на прості геометричні об'єкти.
-
Верифікація 3d зображень на основі фотографій
Розробка та використання програми для пришвидшення процесу перетворення двомірного зображення у об'ємне. Методика та процес випробовування для виявлення та усунення недоліків в роботі програми. Інтерфейс програми, встановлення параметрів зображення.
-
Загальні системи комп’ютерної графіки
Класифікація систем комп’ютерної графіки, її різновиди та сфери використання. Міні-комп’ютери як зменшена версія магістральних. Загальна структура і функції комп’ютерної графіки. Растрова графіка, класифікація, призначення і функції її прикладних систем.
-
Побудова ліній та точок з допомогою комп’ютерної графіки
Алгоритм побудови лінії та використання графічної бібліотеки DirectX. Способи побудови довільної кількості довільного розміру точок на поверхні форми. Можливості комп'ютера виконувати мультимедійні програми під управлінням операційної системи Windows.
-
Основи комп’ютерної графіки
Загальна характеристика теорії редагування зображень, місце у ній растрових зображень. Аналіз переваг та недоліків програм малювання і векторної графіки. Структура, розмір і розширення зображення. Сутність і призначення основних форматів графічних файлів.
-
Відображення на екрані дисплея графічної інформації
Основні характеристики і графічні можливості адаптерів. Процедури ініціалізації і завершення графічного режиму. Розгляд структури графічної Паскаль-програми. Реалізація механізму визначення помилок в модулі GRAPH. Особливості побудови геометричних фігур.