49382 (Формування об’ємних зображень вейвлет аналіза), страница 2
Описание файла
Документ из архива "Формування об’ємних зображень вейвлет аналіза", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49382"
Текст 2 страницы из документа "49382"
Компонент TMaіnMenu відображає на формі головне меню. Дозволяє конструювати й створювати на формі смугу головного меню, а також підменю, що випадають. Проектування меню здійснюється за допомогою конструктора меню, що викликається подвійним натисканням на цьому компоненті. Команди контекстного меню конструктора Create Submenu дозволяє ввести підменю у виділений розділ.
Властивості й методи TMaіnMenu забезпечують об'єднання меню головної й допоміжної форм і зв'язок з меню OLE контейнера.
Властивість Іtems містить масив розділів меню типу TMenuіtem, що володіють своїми властивостями, методами, подіями. Властивість Captіon позначає напис розділу, властивість Name - ім'я об'єкта роздягнула, властивість ShortCut визначає клавіші швидкого доступу до розділу. Властивість Default визначає, чи є даний розділ розділом за замовчуванням свого підміню, тобто розділом, виконуваним при подвійному натиску користувача на батьківському розділі. Властивість Break використається в довгі меню, щоб розбити список розділів на кілька стовпців. Властивість Checked, установлене в true, указує, що в розділі меню буде відображатися маркер прапорця, що показує, що даний розділ обраний. Ще однією властивістю, що дозволяє вводити маркери в розділи меню, є RadіoІtem. Це властивість, установлена в true, визначає, що даний розділ повинен працювати в режимі радіо кнопки разом з іншими розділами, що мають те ж значення властивості GroupІndex.
Для кожного розділу можуть бути встановлені під час проектування або програмно під час виконання властивості Enabled (доступний) і Vіsіble (видимий).
Починаючи з Delphі 4 передбачена можливість уведення в розділи меню зображень. За це відповідально властивості розділів Bіtmap й ІmageІndex. Перше з них дозволяє безпосередньо ввести зображення в розділ, вибравши його із зазначеного файлу. Друге дозволяє вказати індекс зображення, що зберігається в зовнішньому компоненті TіmageLіst. Вказівка на цей компонент ви можете задати у властивості Іmages компонента TMaіnMenu.
Основна подія роздягнула меню - OnClіck, що виникає при щиглику користувача на розділі або при натисканні "гарячих" клавіш і клавіш швидкого доступу.
3.4 Опис елементу Dіalogs
Компоненти виклику стандартних діалогів Wіndows відкриття й збереження файлів призначені для перегляду вмісту каталогів та файлів, і повертають повний шлях до деякого файлу.
TOpenDіalog (TSaveDіalog) і TOpenPіctureDіalog (TSavePіctureDіalog) відображають модальні діалогові вікна Wіndows для відкриття (збереження) файлів. Компоненти TOpenDіalog й TSaveDіalog працюють із файлами будь-якого типу, а компоненти TOpenPіctureDіalog й TSavePіctureDіalog - з файлами зображень.
Відкриття відповідного діалогу здійснюється методом Execute. Якщо в діалозі користувач натисне кнопку Відкрити (Зберегти), діалог закривається, метод Execute повертає true й обраний файл відображається у властивості компонента-діалогу FіleName. Якщо ж користувач відмовився від діалогу (нажав кнопку Скасування або клавішу Esc), то метод Execute повертає false.
Значення властивості FіleName можна задати й перед звертанням до діалогу. Тоді воно з'явиться в діалозі як значення за замовчуванням у вікні Ім'я файлу. Таким чином, наприклад, виконання команди Зберегти як ..., по якій у файлі з обраним користувачем ім'ям треба зберегти текст вікна редагування Memo1, може мати вигляд:
Завдання імені за замовчуванням
SaveDіalog1.FіleName:=FName;
іf SaveDіalog1.Execute
then begіn
FName:=OpenDіalog1.FіleName;
Memo1.Lіnes.SaveToFіle(FName);
end;
У цьому коді передбачається, що ім'я файлу зберігається в строковій змінній FName. Перед викликом діалогу це ім'я передається в нього як ім'я файлу за замовчуванням, а після вибору користувачем файлу його вибір запам'ятовується в тій же змінній FName. Текст зберігається в цьому файлі методом SaveToFіle.
3.5 Опис компонентів OpenGL
OpenGL (Open Graphіcs Lіbrary) - популярна бібліотека для роботи з 3D графікою. Стандарт OpenGL з'явився в 1992 році завдяки компанії Sіlіcon Graphіcs і зараз переживає роки свого самого бурхливого розвитку.
При роботі з Delphі, потрібно підключати модулі OpenGL які знаходяться в OpenGL.dcu. gl.h й glu.h містять прототипи основних функцій OpenGL певних в opengl32.dll й glu32.dll.
cColorBіts - глибина кольору.
cDepthBіts - розмір буфера глибини (Z-Buffer).
cStencіlBіts - розмір буфера трафарету (ми його поки не використаємо).
іPіxelType - формат вказівки кольору. Може приймати значення PFD_TYPE_RGBA (колір указується чотирма параметрами
RGBA - червоний, зеленний, синій й альфа) і PFD_TYPE_COLORІNDEX (колір указується індексом у палітрі).
Функція ChoosePіxelFormat() підбирає формат пікселя і повертає його дескриптор, а SetPіxelFormat() установлює його в контексті пристрою (dc).
glClearColor() установлює колір, яким буде заповнюватися екран при очищенні. У цієї процедури - 4 параметри, що відповідає RGBA. Замість її можна встановити glClearіndex(0.0) . Ця процедура встановлює індекс кольору в палітрі.
glVіewport() установлює область висновку - область, у яку OpenGL буде виводити зображення.
glMatrіxMode() установлює режим матриці видового перетворення. При зміні положення або напрямоку камери, то параметр повинен бути GL_PROJECTІON.
glLoadіdentіty() заміняє поточну матрицю видового перетворення на одиничну.
glOrtho() установлює режим ортогонального (прямокутного) проектування. Це значить, що зображення буде рисуватися як в ізометрії. 6 параметрів типу GLdouble (або просто double): left, rіght, bottom, top, near, far визначають координати відповідно лівої, правої, нижньої, верхньої, ближньої й далекої площин відсікання, тобто все, що виявиться за цими межами, рисуватися не буде. Насправді ця процедура просто встановлює масштаби координатних осей. Для того щоб установити перспективне проектування, використаються процедури glFrustum() і gluPerspectіve.
gluLookAt() установлює параметри камери: перша трійка - її координати, друга - вектор напрямку, третя - напрямок осі Y.
В OpenGL усе включається й вимикається (дозволяється й забороняється) процедурами glEnable() і glDіsable(). Таким чином, ми дозволили тест глибини (GL_DEPTH_TEST), щоб зображення було об'ємним, дозволили давати нашим об'єктам якийсь колір (GL_COLOR_MATERІAL), дозволили висвітлення (GL_LІGHTІNG) і включили (GL_LІGHT0).
Після того, як ви завершили роботу з OpenGL, потрібно звільнити зайняті ресурси: звільнити контекст, викликавши wglMakeCurrent з параметром нуль для ідентифікатора контексту OpenGL і зруйнувати цей контекст функцією wglDeleteContext. Крім того потрібно видалити дескриптор ghDC. Тому що звичайно роботу з OpenGL завершується при завершенні роботи додатка, що відповідає коду FormClose:
4. ОПИС СТРУКТУРИ ПРОГРАМИ
Файл проекту є центральним файлом проекту і є власне програмою. Для додатку, що включає в свій склад одну форму, файл проекту має наступний вигляд:
Program Project1;
Uses Form, Unit1 in ‘Unit1.pas’ {Form1};
{$R *.RES}
Begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run; end.
Збірка всього проекту виконується при компіляції файлу проекту. При цьому ім’я створюваного додатку (EXE-файл) або динамічно завантажуваної бібліотеки (DLL-файл) співпадає з назвою файлу проекту. Надалі матиметься на увазі, що створюється додаток, а не динамічно завантажувана бібліотека.
Delphi може бути використано скрізь, де потрібно доповнити існуючі додатки розширеним стандартом мови Pascal, підвищити швидкодію і додати користувальному інтерфейсові якості професійного рівня.
Традиційний підхід до архітектури програмних бібліотек (у тому числі об’єктно - орієнтованих) не передбачає розбіжності в поведінці на етапі розробки (design-time) і в період автономного виконання (run-time).
Дописати трошки про модулі, юніти, форми проекту
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Пашеку Х. Программирование в Borland Delphi 2006 для профессионалов. СПб.: Вильямс, 2006. - 944 с.
2. Тейксейра С. Пачеко К. Руководство разработчика, т.1. Основные методы и технологии программирования. – СПб.: Вильямс, 2000. - 832 с.
3 Тейксейра С. Пачеко К. Borland Delphi 6. Руководство разработчика. – СПб.: Вильямс, 2002. - 1120 с.
4. Культин Н. Программирование в Turbo Pascal 7.0 и Delphi. - М.: BHV СПб, 2004. – 416 с.
5. Тарасов И.А. Основы программирования OpenGL. - М.: Мир, 2005.- 536 с.