Урок 37. Відображення базових графічних примітивів. Відображення рисунків із зовнішніх файлів.
Прочитай:
Комп’ютерна графіка – розділ інформатики, який вивчає технології опрацювання графічних зображень за допомогою комп’ютерної техніки.
Залежно від способу побудови графічного зображення розрізняють растрові та векторні графічні зображення.
Растрове графічне зображення складається з окремих маленьких прямокутників – пікселів. Ви знайомі з інструментами побудови растрових зображень редактора растрової графіки Paint.
Векторне графічне зображення будується з окремих базових об’єктів – графічних примітивів: відрізків, многокутників, кривих, овалів тощо. У ході вивчення текстового редактора Word, програми для створення презентацій MS PowerPoint ви дізналися про способи формування зображень із геометричних примітивів, поняття й принципи побудови векторних зображень, способи зафарбовування об’єктів, встановлення параметрів контура і заливки.
(adsbygoogle = window.adsbygoogle || []).push({});
Графічні примітиви – це елементи простої форми, з яких будують більш складні зображення.
Будь-який малюнок або креслення можна розглядати як сукупність графічних примітивів: крапок, ліній, кіл, дуг та ін. Для того щоб на екрані з’явився малюнок, програма повинна забезпечити креслення кожного з графічних примітивів, з яких він складається.
Чи можна виводити на екран графічні зображення за допомогою програм, створених в середовищі Lazarus.
На даному уроці ми дізнаємося як:
- Як намалювати лінію, прямокутник, сектор, ламану, еліпс засобами мови програмування
- Як вивести на екран створені фігури
Графіка в Lazarus
У Lazarus для промальовування різних елементів графіки використовується спеціальний клас TCanvas.
Поверхні, на яку програма може виводити графіку, відповідає властивість Canvas. У свою чергу, властивість canvas — це об’єкт типу TCanvas. Методи цього типу забезпечують виведення графічних примітивів (крапок, ліній, кіл, прямокутників і т. д.), а властивості дозволяють задати характеристики графічних примітивів, що виводяться: колір, товщину і стиль ліній; колір і вид заповнення областей; характеристики шрифту при виведенні текстової інформації.

Методи виведення графічних примітивів розглядають властивість Canvas як деяке абстрактне полотно, на якому вони можуть малювати (canvas переводиться як “поверхня”, “полотно для малювання”). Полотно складається з окремих крапок — пікселів. Положення піксела характеризується його горизонтальними (X) і вертикальними (Y) координатами. Лівий верхній піксел має координати (0, 0). Координати зростають зверху вниз і зліва направо (див. мал). Значення координат правої нижньої точки полотна залежать від розміру полотна.
Основна властивість цього об’єкта Canvas Lazarus – Pixels[i , j ] типу TColor , тобто це двомірний масив крапок, що задаються певним кольором.
Малювання на канві відбувається в момент присвоювання якій-небудь точці канви значення кольору, відмінного від кольору тла. Кожній точці – пікселю може бути присвоєний довільний колір Windows – палітри (див. таблицю кольорів).
Наприклад команда:
Image1. Canvas.Pixels [ 100 , 100 ]: = clRed;
промалює червону точку з координатами [100, 100].
Дізнатися колір пікселя можна зворотним присвоюванням:
Color : = Image1.Canvas.Pixels [100, 100] ;
Таблиця кольорів Windows –палітри
| Колір | Константа |
| Блакитний | clAqua |
| Чорний | clBlack |
| Синій | clBlue |
| Рожевий | clFuchsia |
| Зелений | clGreen |
| Салатовий | clLime |
| Каштановий | clMaroon |
| Темно – синій | clNavy |
| Оливковий | clOlive |
| Фіолетовий | clPurple |
| Червоний | clRed |
| Сріблястий | clSilver |
| Зелено – блакитний | clTeal |
| Білий | clWhite |
Команди для малювання графічних примітивів на координатній
площині форми
| Команда | Пояснення | Приклад |
| Canvas.MoveTo (x, y) | Вибір на формі точки малювання ліній (x, y), з якої буде розпочинатися малювання | Намалювати відрізок від точки (20, 20) до точки (100, 20).
Canvas.MoveTo (20, 20); Canvas.LineTo (100, 20); |
| Canvas.LineTo (х, у) | Малювання відрізка від останньої точки, у якій відбувалось малювання, до точки (х, у). Використання послідовно кількох таких команд приведе до малювання відрізка або ламаної | |
| Canvas.Rectangle (х1, у1, х2, у2) | Малювання прямокутника, у якого протилежні вершини розміщені в точках (х1, у1) та (х2, у2), а сторони паралельні осям координат
|
Намалювати квадрат із довжиною сторони 100 пікселів:
Canvas.Rectangle (20,30,120,130);
|
| Canvas.Ellipse (х1, у1, х2, у2) | Малювання еліпса, вписаного у прямокутник, у якого протилежні вершини розміщені в точках (х1, у1) та (х2, у2), а сторони паралельні осям координат. Прямокутник при цьому не відображається | Намалювати еліпс, вписаний в прямокутник із довжиною сторони 80 пікселів і шириною 60 пікселів:
Canvas.Ellipse (20, 20, 100, 80) |
| Canvas.Pie (х1, у1, х2, у2, х3, у3, х4, у4) | Малювання замкненої фігури – сектора еліпса. Точки (х1, у1) та (х2, у2) задають прямокутник, у який вписано еліпс. Початкова точка дуги визначається перетином еліпса з прямою, що проходить через його центр і точку (х3, у3). Кінцева точка дуги визначається перетином еліпса з прямою, що проходить через його центр і точку (х4, у4). Дуга малюється проти годинникової стрілки від початкової до кінцевої точки | Намалювати сектор еліпса, вписаний в прямокутник із довжиною сторони 80 пікселів і шириною 60 пікселів, початкові координати дуги (60, 20) а кінцева точка (80,80):
|
| Canvas.PolyLine ([Point (x1,y1), Point(x2,y2), …]); | Малювання ламаної лінії. Метод РоlуLіnе малює ламану лінію за точками, що задані масивом точок.
|
Намалювати ламану лінію за п’ятьма точками, заданими координатами.
Canvas.Polyline ([Point (10,10), Point (30,100), Point (50,10), Point (70,100), Point (90,10)]); |
| Canvas.Polygon([Point (x1,y1), Point(x2,y2), …]); | Малювання багатокутника по точкам, заданим в масиві. Кінцева точка з’єднується з початковою і багатокутник заповнюється пензлем. Для креслення без заповнення використовується метод ламаної лінії.
|
Canvas.Polygon ([Point (10,10), Point
(30,100), Point (50,100), Point (70,100), Point (90,10)]);
|
(adsbygoogle = window.adsbygoogle || []).push({});
Властивості форми для встановлення значень властивостей контуру та внутрішньої області графічних примітивів
| Властивість | Призначення та приклади значень | Значення за замовчуванням |
| Canvas.Pen.Color | Колір лінії контуру | Чорний |
| Canvas.Pen.Width | Товщина ліній контуру | 1 піксель |
| Canvas.Brush.Color | Колір заливки внутрішньої області | Білий |
Ми розглянули лише частину методів для побудови графічних примітивів, але їх достатньо для того, щоб будувати складні малюнки.
Пам’ятайте, що їх можна застосовувати для всіх компонентів, які мають властивість Canvas.
Для того щоб малюнок відображався на формі одразу після запуску проекту на виконання, потрібно команди малювання розміщувати у процедурі – обробнику подій Paint для форми.
ВИКОНАЙ:
- Намалюй трикутник, зафарбований зеленим кольором зі сторонами червоного кольору.
Інструкції до виконання
- Завантажте середовище програмування.
- Виконайте збереження проекту використовуючи команду Зберегти всі з меню Файл. Всі файли зберігаємо у новостворену папку на Графічні примітиви.
- Змініть заголовок форми на напис Трикутник.
- Для малювання фігур використовуємо процедуру TForm1.FormPaint. Для кожної фігури окремо встановлюються властивості “Пензель” і “Олівець”.
- Перейдіть на закладинку Інспектора об’єктів, що містить список подій і знайдіть у списку обробник OnPaint. Виконайте подвійний клік мишею у полі і запишіть код процедури.
procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Pen.Color := clRed; Canvas.Brush.Color := clGreen; Canvas.Polygon ([Point (150,50), Point (50,250), Point (250,250), Point (150,50)]); end;
- Протестуйте та збережіть проект.
- Наберіть код програми. Зверніть увагу, що виконання програми відбувається після натиснення на кнопку. Протестуйте. Проаналізуйте частини коду та додайте коментарі з поясненням, які частини малюнка зображуються відповідними елементами програми.
Інструкції до виконання
procedure TForm1.Button1Click(Sender: TObject); begin Canvas.Brush.Color := clGray; Canvas. Rectangle(10,100,250,300); // корпус Canvas. Polygon([Point(0,100),Point(130,20),Point(260,100)]); // дах Canvas. Brush.Color := clWhite; Canvas. Ellipse(110,40,150,80); // горище Canvas. Rectangle(30,150,110,230); // вікно Canvas. MoveTo(70,150); Canvas. LineTo(70,230); Canvas. Rectangle(150,300,230,150); // двері Canvas. Brush.Color := clGray; Canvas.Polygon([Point(150,300), Point(150,150), Point(210,160), Point(210,300)]); end;
Збережіть складові проекту.
- Створити програму, яка виводить на екран зображення, що демонструє побудову на канві різних геометричних фігур із застосуванням до них заливок, а також відображення тексту на канві.
Домашнє завдання:
Морзе Н. В. Барна О. В. Вембер В.П. Інформатика: підручник для 8 кл., п.27, завдання 3 ст. 191
Ривкінд Й.Я., Лисенко Т.І., Чернікова Л.А., Шакотько В.В. Інформатика підручник для 8 класу, п.6.8 ст. 221-224, завдання 4 ст. 227
-
Кодування даних
-
Апаратне забезпечення комп'ютера
- Урок 4. Архітектура комп’ютера. Процесор, його призначення. Пам’ять комп’ютера. Зовнішні та внутрішні запам’ятовуючі пристрої.
- Урок 5. Пристрої введення та виведення даних. Пристрої, що входять до складу мультимедійного обладнання. Технічні характеристики складових комп’ютера.
- Урок 6. Історія засобів опрацювання інформаційних об’єктів.
- Урок 7. Види сучасних комп’ютерів та їх застосування. Практична робота №2. Конфігурація комп’ютера під потребу.
-
Опрацювання текстових даних
- Урок 7. Повторення раніше вивченого матеріалу з теми “Текстовий процесор”
- Урок 8. Пошук та заміна фрагментів тексту. Створення, редагування та форматування символів, колонок, списків в текстовому документі. Недруковані знаки.
- Урок 9. Створення, редагування та форматування таблиць.
- Урок 10. Створення, редагування та форматування графічних об’єктів в текстовому документі.
- Урок 12. Практична робота №3. Створення текстового документа, що містить об’єкти різних типів.
- Урок 13. Створення і опрацювання складних за структурою документів
- Урок 14. Автоматизоване створення змісту.
- Урок 15. Практична робота №4. Форматування документу. Створення титульної сторінки. Автоматизоване створення змісту.
- Урок 16. Створення та опрацювання складних за структурою документів.
-
Алгоритми та програми. Основи подвійно- та об'єктно-орієнтованого програмування
- Урок 13. Поняття мови програмування. Складові мови програмування.
- Урок 14. Знайомство з середовищем програмування.
- Урок 15. Поняття події, обробника події.
- Урок 16. Практична робота №5. Створення об’єктно-орієнтованої програми, що відображає вікно повідомлення.
- Урок 17. Елемент керування “кнопка”.
- Урок 18. Елемент керування “напис”.
- Урок 19. Складання програм, що обробляють натискання кнопок та визначають вміст написів на формі.
- Урок 20. Практична робота №6. Створення програми з кнопками та написами.
-
Алгоритми роботи з об'єктами та величинами
- Урок 21. Поле його властивості (Python)
- Урок 22. Величини (змінні і константи), їхні властивості. (Python)
- Урок 23. (Python) Практична робота №7. Складання та виконання лінійних алгоритмів опрацювання величин в навчальному середовищі програмування.
- Урок 24. Налагодження програм. (Python)
- Урок 25. Використання налагоджувача програм у візуальному середовищі програмування. Покрокове виконання програм, перегляд значень змінних під час виконання програми. (Python)
- Урок 26. Величини логічного типу, операції над ними.
- Урок 27. Алгоритми з розгалуженнями для опрацювання величин. (Python)
- Урок 28. Алгоритми з розгалуженнями для опрацювання величин. (Python)
- Урок 29 (Python). Складені умови. Пошук найбільшого та найменшого серед кількох значень.
- Урок 30. (Python) Інструктаж з БЖД. Практична робота 9. Складання та виконання алгоритмів з розгалуженнями для опрацювання величин.
- Урок 31. (Python) Елементи для введення даних: прапорець.
- Урок 32. (Python) Елементи для введення даних: перемикач.
- Урок 33. (Python) Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником.
- Урок 34. (Python) Цикл з передумовою. Складання алгоритмів опрацювання величин у навчальному середовищі програмування, їх налагодження і виконання.
- Урок 35. (Python) Співвідношення типів даних та елементів для введення даних, зчитування даних з елементів введення.
- Урок 36. (Python) Розв’язання задач
- Урок 37. (Python) Практична робота №9. Складання та виконання алгоритмів з повтореннями та розгалуженнями для опрацювання величин.
- Урок 38 (Python). Повторення вивченого матеріалу.
- Урок 21. Поле, його властивості.
- Урок 22. Величини (змінні і константи), їхні властивості.
- Урок 23. Практична робота №7. Складання та виконання лінійних алгоритмів опрацювання величин в навчальному середовищі програмування.
- Урок 24. Налагодження програм.
- Урок 25. Використання налагоджувача програм у візуальному середовищі програмування. Покрокове виконання програм, перегляд значень змінних під час виконання програми.
- Урок 28. Алгоритми з розгалуженнями для опрацювання величин.
- Урок 30. Складені умови. Пошук найбільшого та найменшого серед кількох значень.
- Урок 30. Елементи для введення даних: перемикачі, прапорці.
- Урок 31. Елементи для введення даних: випадаючі списки.
- Урок 32. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником.
- Урок 33. Цикл з передумовою. Складання алгоритмів опрацювання величин у навчальному середовищі програмування, їх налагодження і виконання.
- Урок 36. Практична робота №9. Складання та виконання алгоритмів з повтореннями та розголуженнями для опрацювання величин.
- Урок 37. Відображення базових графічних примітивів. Відображення рисунків із зовнішніх файлів.
- Урок 38. Практична робота №10. Складання та виконання алгоритмів з графічним відобреженням даних.
-
Опрацювання мультимедійних об’єктів
- Урок 39. Поняття мультимедіа. Формати аудіо- та відеофайлів.
- Урок 40. Додавання відеокліпів, звукових ефектів і мовного супроводу до слайдової презентації.
- Урок 41. Елементи анімації. Інструктаж з БЖД. Практична робота 11. Розробка презентацій з елементами анімації, відеокліпами, звуковими ефектами та мовним супроводом.
- Урок 42. Програмне забезпечення для опрацювання об’єктів мультимедіа. Захоплення аудіо та відео, створення аудіо-, відео фрагментів. Засоби перетворення аудіо- та відеоформатів.
- Урок 43. Програми для редагування аудіо- та відеоданих. Загальні поняття про відеофільм.
- Урок 44. Побудова аудіо- та відеоряду. Додавання до відеокліпу відеоефектів та налаштування переходів між його фрагментами.
- Урок 45. Налаштування часових параметрів аудіо- та відеоряду. Інструктаж з БЖД. Практична робота 12. Створення відеокліпу. Додавання відеоефектів, налаштування часових параметрів аудіо- та відеоряду.
- Урок 46.Сервіси розміщення аудіо та відео файлів в Інтернеті.
- Урок 47. Інструктаж з БЖД. Практична робота 13. Розміщення аудіо- та відеоматеріалів в Інтернеті.
- Урок 48. Підсумковий урок з теми: «Опрацювання мультимедійних об’єктів»
-
Створення та публікація веб-ресурсів
Створення та публікація веб-ресурсів
- Урок 49. Структура веб-сайтів, різновиди веб-сайтів. Різновиди веб-сторінок. Етапи створення веб-сайтів. Основи веб-дизайну
- Уроу 50. Основи веб-дизайну
- Урок 51. Поняття про засоби автоматизованої розробки веб-сайтів, редактор веб-сайтів з графічним інтерфейсом
- Урок 52. Поняття про систему керування вмістом сайту. Поняття хостингу. Автоматизоване створення статичної веб-сторінки, вибір її типу й оформлення.
- Урок 53. Наповнення веб-сторінки текстом та графічним матеріалом, створення гіперпосилань, завантаження файлів
- Урок 54. Інструктаж з БЖД. Практична робота №14. Автоматизоване створення веб-сайту
- Уроки 55-56. Поняття про мову розмітки HTML. Структура веб-сторінки. Оформлення тексту. Текстові елементи веб-сторінки, теги та їх атрибути.
- Урок 57. Інструктаж з БЖД. Практична робота 15. “Створення веб-сторінки за допомогою «Мови гіпертекстової розмітки»
- Урок 58. Малюнки. Гіперпосилання
- Урок 59-60. Таблиці на веб-сторінках. Списки на веб-сторінках
- Урок 61. Інструктаж з техніки безпеки. Практична робота 16 «Створення веб-сторінки за зразком з використанням таблиць, списків та малюнків»
0.00 на основі 0 рейтингів