3.04.2017

8 клас Урок 47-48

Відображення базових графічних примітивів – лінія, прямокутник, сектор, ламана, еліпс, налаштування стилю та кольору примітивів засобами мови програмування.
Повторюємо
1. Що таке комп’ютерна графіка?
2. Що таке растрове графічне зображення?
3. Що таке векторне графічне зображення?
4. Наведіть приклади графічних примітивів.
5. Наведіть приклади графічних редакторів.
6. Опишіть принцип побудови векторного зображення.


Щоб розмістити Фігуру на формі, потрібно двічі клацнути на кнопці TShape (англ. shape - форма, фігура) на вкладці Additional (англ. additional - додатковий) вікна середовища Lazarus.

Властивості Фігури Name, Enabled, Visible аналогічні до відповідних властивостей форми.
Як і для форми, значення властивостей Фігури Тор, Left, Height і Width можна змінити або на вкладці Властивості, або перетягуванням.
Компонент Фігура має властивості, що визначають колір і стиль контуру та внутрішньої області.
Властивість Style може набувати значень із набору, вказаного в таблиці:
Значення цих властивостей можна встановлювати на вкладці Властивості у вікні Інспектор об'єктів або з використанням команди присвоювання. Ці значення можуть бути такими самими, як і для графічних примітивів.
Крім того, Фігура має властивість Shape, що визначає її форму. Ця властивість може набувати, наприклад:

За замовчуванням значення цієї властивості визначає квадрат з контуром чорного кольору товщиною 1 піксель і суцільною заливкою білого кольору.

Переміщення об’єктів мишею
Щоб перемістити об'єкт, треба:
- натиснути ліву кнопку миші на об'єкті (подія MouseDown);
- перемістити   вказівник   при   натиснутій   кнопці   миші   (подія MouseMove);
- відпустити кнопку миші (подія MouseUp).
Щоб запрограмувати переміщення по формі елемента Shape1, треба, використовуючи закладку Події у вікні Інспектор об'єктів, створити для цього компонента процедури обробки подій: OnMouseDown (натискання кнопки миші), OnMouseMove (рух миші), OnMouseUp (відпускання кнопки миші в області об'єкта). 
Створивши процедури обробки подій OnMouseDown, OnMouseMove, OnMouseUp для компонентів Shape, можна розробити гру «Конструктор».
Текст програми буде таким:

Розглянемо, як працюють процедури даного проекту. Якщо натиснути кнопку миші в момент, коли вказівник міститься в області компонента Shape, то в процедурі Shape1MouseDown змінним х1, у1 будуть присвоєні значення координат розміщення вказівника, а змінній flag — значення true. Значення змінної flag (прапорця) сигналізує, чи натиснута кнопка миші. Якщо не відпускати кнопку миші й перетягувати об'єкт, то в процедурі TForm1.Shape1MouseMove відбувається перерахунок координат компонента Shape відносно системи координат форми. Це створює ефект руху фігури за вказівником. Якщо кнопку миші відпустити, то виконається процедура TForm1.Shape1MouseUp, в якій flag набуває значення False, і перетягування завершиться.

У проектах можна відображати зображення, що містяться у зовнішніх файлах. Для цього призначений компонент Область зображення. Для його розміщення на формі потрібно двічі клацнути на кнопці TImage (англ. image - зображення) на вкладці Additional у вікні середовища Lazarus.
Властивості Області зображення Name, Enabled, Visible аналогічні до відповідних властивостей форми. Як і для форми, значення властивостей області зображення Top, Left, Height і Width можна змінити або на вкладці Властивості, або перетягуванням.
Компонент Image має такі основні властивості:
Для того щоб змінити значення властивості Picture, використовують алгоритм додавання зображення на форму: 
1. Викликати вікно завантаження графічного зображення в рядку цієї властивості в Інспекторі об'єктів.
2. Натиснути кнопку Завантажити у вікні Діалог завантаження зображення. У вікні, що відкривається при цьому, обрати потрібний графічний файл і натиснути кнопку Відкрити. Далі у вікні перегляду буде відображено вміст цього файла.
3. Натиснути кнопку Гаразд і перейти до надання значень властивостям компонента.
Якщо розміри зображення більші від розмірів компонента, то властивості Stretch потрібно присвоїти значення True. Розміри малюнка  зміняться  відповідно  до   реальних розмірів компонента Image.
Щоб вивести зображення в полі компонента Image під час роботи програми, потрібно до властивості Picture застосувати метод LoadFromFile, вказавши як параметр шлях до файла з малюнком.
Form1.Image1.Picture.LoadFromFile('c:\temp\bart.bmp')
Завантажує малюнок із файла bart.bmp і виводить його в полі компонента Image1.
Метод LoadFromFile дозволяє виводити зображення різних графічних форматів:
Але для завантаження jpg-файлів необхідно включити до розділу uses стандартний модуль JPEG:
uses JPEG
Якщо графічний файл міститься в поточному каталозі (у папці проекту), достатньо вказати лише його назву. 
Очистити вміст елемента Image1 можна таким способом:










Немає коментарів: