Реферат по предмету "Информатика, программирование"


Можливості графічної підсистеми Delphi 5

Лабораторна робота№3
 
Робота зграфікою
 
Мета роботи: вивчити можливості графічної підсистемиDelphi 5, її властивості та принципи побудови прикладних програм звикористанням графіки.
Порядокроботи:
1.  Створити проект длявиконання індивідуального завдання.
2.  Оформити звіт для захистулабораторної роботи за зразком
· назвароботи
· метароботи
· порядокроботи
· короткітеоретичні відомості
· алгоритмрозв’язку задачі
· текстивідповідних модулів проекту
· аналізотриманих результатів та висновки
Питання длясамоконтролю
1. Які класивідповідають за роботу з графікою в Delphi?
2. Які графічніінструменти представлені в Delphi?
3.Охарактеризуйте властивості та методи класу TCanvas.
4. Які існуютьтипи графічних зображень?
5. Як завантажитина форму зображення з файлу?
 
delphiклас графічний зображення

 
Короткітеоретичні відомості
 
Створеннязображень
У Win32 длямалювання об’єктів, які ми бачимо на екрані комп’ютера використовуєтьсяінтерфейс GDI (GraphicDeviceInterface). До появи Delphi програміст безпосередньо працював зфункціями та інструментами GDI (пером, пензлем та шрифтом) черезграфічний контекст вікна.
Для використанняграфічних інструментів Windows у Delphi створені відповідні класи: дляграфічного контексту — клас TCanvas, для пера — TPen, для пензля– TBrush, для шрифту — TFont. Об’єкти цих класів автоматичностворюються для форми і більшості видимих елементів на формі і стаютьдоступними через властивості Canvas, Pen, Brush та Font.
Наступні дваприклади демонструють наскільки застосування Delphi спрощує роботу з графікою вWin32. Приклад 1 використовує стандартні GDI-функції, приклад 2 створюєаналогічний малюнок засобами класів Delphi.
Приклад 1
procedureTForm1.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
procedureTForm1.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 недоступна у вікні ObjectInspector. Щоб використати 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) — це файли з двійковою інформацією у вигляді бітів, послідовністьяких складає графічний образ. Зокрема, в цих бітах зберігається інформація проколір пікселів. Растри бувають двох типів — залежні від пристроїв(devicedependent 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');
Для копіювання зображеньвикористовуються методи TCanvasDraw (копіювання всього малюнку), 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. Логарифмічнаспіраль
/>, />, />.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.