§ 4. Элементы кіравання для работы з графікай
Site: | Профильное обучение |
Course: | Інфармацыйныя тэхналогіі. 11 клас (Базавы ўзровень) |
Book: | § 4. Элементы кіравання для работы з графікай |
Printed by: | Гость |
Date: | Friday, 4 April 2025, 9:19 PM |
§ 4.1. Элементы кіравання для работы з графікай
Пры стварэнні дадатку нярэдка ўзнікае неабходнасць упрыгожыць яго графічным відарысам. У гэтым выпадку можна выкарыстаць кампанент Image (відарыс). На панэлі кампанентаў Additional кампанент відарыс паказаны ў выглядзе Некаторыя ўласцівасці кампанента Image прыведзены ў табліцы (прыклад 4.2). Выкарыстоўваючы ўласцівасць Picture, можна выбраць і загрузіць відарыс на этапе праектавання дадатку. Відарыс можа быць выбраны ў акне рэдактара відарысаў (кнопка Кампанент падтрымлівае ўстаўку малюнкаў у фарматах JPEG, PNG, BMP. Калі патрабуецца апрацоўка відарыса (любыя змяненні малюнка), то малюнак павінен быць захаваны ў фармаце BMP. Для малюнкаў фармату PNG з празрыстым фонам пры загрузцы захоўваецца празрыстасць. Уласцівасць Picture кампанента Image валодае метадамі LoadFromFile і SaveToFile, якія выкарыстоўваюцца для загрузкі і захавання відарыса. Метад LoadFromFile можа быць выкарыстаны для загрузкі відарыса пры адкрыцці дадатку. У гэтым выпадку файл з малюнкам павінен знаходзіцца ў папцы праекта (ці неабходна прапісаць поўны шлях да файла). Прыклад 4.3. Стварыць праект, у якім змясціць фонавы відарыс на форме. Пры націсканні на кнопку па-над фонавым відарысам павінен з'явіцца іншы відарыс. Этапы выканання задання
|
Прыклад 4.1. Кампанент Image (відарыс) на форме: Прыклад 4.2. Некаторыя ўласцівасці кампанента Image (відарыс).
Прыклад 4.3. Форма на этапе канструявання: Апрацоўшчык падзеі OnClick для Button1.
Дадатак у час работы: Да націскання на кнопку: Пасля націскання на кнопку: Паколькі гарызантальнае становішча мядзведзя задаецца выпадковым чынам, то пры кожным націсканні на кнопку мядзведзь будзе прарысаваны ў новым месцы. |
4.2. Пабудова графікаў функцый
Некаторыя кампаненты ў Delphi, такія як форма, кампанент Image і інш., маюць уласцівасць Canvas (канва, палатно). Канва ўяўляе сабой вобласць, на якой можна маляваць ці выводзіць на яе растравыя відарысы. Сістэма каардынат у канвы такая ж, як і для кожнага кампанента ў Delphi — пункт з каардынатамі (0, 0), змешчаная ў верхнім левам вугле, вось ОY накіравана ўніз. Кожны пункт канвы мае каардынаты X і Y. Каардынаты мераюцца ў пікселях. Найважнейшая ўласцівасць пікселя — яго колер. Колер пікселя канвы вызначаецца значэннем уласцівасці Pixels. Гэта ўласцівасць уяўляе сабой двухвымерны масіў, у якім захоўваецца колер кожнага пікселя. Для задання колеру ў Delphi можна выкарыстаць некалькі спосабаў (прыклад 4.4). Клас TCanvas змяшчае вялікую колькасць уласцівасцей і метадаў, якія дазваляюць будаваць відарысы. Шмат якія з метадаў канвы супадаюць з працэдурамі, што выкарыстоўваліся ў бібліятэцы GraphABC асяроддзя праграміравання PascalABC.Net Апісанне гэтых метадаў прыведзена ў дадатку. Прыклад 4.5. Стварыць праект, у якім пабудаваць графік функцыі y = xsinx на прамежку, зададзеным карыстальнікам. Этапы выканання задання
5.1. Намаляваць восі каардынат у выглядзе дзвюх перпендыкулярных ліній, перакрыжаваных у цэнтры кампанента Image. Калі дадатку, які працуе, змяніць канцы прамежку, то графік будзе прарысаваны па-над ужо наяўным (прыклад 4.6). Каб пазбегнуць такой сітуацыі, перад пабудовай графіка неабходна ачысціць кампанент. Для гэтага можна выкарыстоўваць каманду: Image1.Picture := Nil; |
Прыклад 4.4. Спосабы задання колеру ў Delphi:
Прыклад 4.5. Форма на этапе канструявання: Апрацоўшчык падзеі OnClick для кампанента Button1
Дадатак у час работы: Прыклад 4.6. Змяненне пачатковых значэнняў канцоў прамежку: Канстанта Nil мае значэнне «нічога». Фармальна — гэта значэнне паказальніка, які не спасылаецца ні на які аб'ект.
|
4.3. Пабудова дыяграм
Асноўныя прынцыпы пабудовы гістаграм і кругавых дыяграм разбіраліся ў 10-м класе (прыклады 4.6 і 6.8). Выкарыстоўваючы аналагічныя метады канвы, дыяграмы можна пабудаваць у Delphi. Прыклад 4.7. Стварыць праект, у якім пабудаваць гістаграму па даных масіву з n элементаў (n = 10). Масіў апісаць з канстантнымі данымі ці даныя ў масіў дабавіць выпадковым чынам. 1. Змясціць на форму кампаненты: відарыс (Image) і два кампаненты Button. 2. Змяніць уласцівасці Caption у кампанента Button1 на «Дыяграма з канстантнымі данымі». 3. Змяніць уласцівасці Caption у кампанента Button2 на «Дыяграма з выпадковымі данымі». 4. Напісаць апрацоўшчык падзеі OnClick для кампанента Button1, у якім дыяграма будуецца з дапамогай прамавугольнікаў. 4.1. Знайсці максімальны элемент у масіве — max. 5. Апрацоўшчык для кампанента Button2 будзе адрознівацца ад апрацоўшчыка для кампанента Button1 толькі спосабам атрымання элементаў масіву. 5.1. Масіў павінен быць апісаны ў раздзеле randomize; |
Прыклад 4.7. Форма на этапе канструявання: Апрацоўшчык падзеі OnClick для кампанента Button1:
Дадатак у час работы: |
4.4. Анімацыя
Эфект анімацыі дасягаецца за кошт таго, што перад поглядам карыстальніка адбываецца хуткая змена відарысаў. Кожны з кадраў анімацыі застаецца на экране вельмі невялікі прамежак часу. Для замеру інтэрвалаў часу можна выкарыстоўваць кампанент таймер. Кампанент Timer змешчаны на панэлі System і паказаны ў выглядзе Некаторыя ўласцівасці кампанента Timer прыведзены ў табліцы (прыклад 4.9). Кампанент мае адзіны апрацоўшчык — OnTimer, у якім апісваюцца дзеянні, якія адбываюцца па заканчэнні інтэрвалу спрацоўвання таймера. Прыклад 4.10. Стварыць праект, у якім самалёт будзе пралятаць над горадам. Этапы выканання задання
|
Прыклад 4.8. Кампанент таймер на форме: Кампанент Timer не бачны пры рабоце дадатку, таму месца яго змяшчэння на форме не мае значэння. Прыклад 4.9. Некаторыя ўласцівасці кампанента таймер.
Прыклад 4.10. Форма на этапе канструявання: Апрацоўшчык падзеі OnCreate для формы:
Апрацоўшчык падзеі OnClick для кампанента Button1:
Апрацоўшчык падзеі OnTimer для кампанента Timer1:
Дадатак у час работы: |
Пытанні да параграфа
![]() |
1. Які кампанент выкарыстоўваецца для размяшчэння відарысаў? 2. Якая ўласцівасць дазваляе загрузіць гатовы відарыс у кампанент Image? 3. З дапамогай якой уласцівасці можна ўстанавіць празрысты фон для відарыса? 4. Што такое канва? 5. Які метад канвы дазваляе зафарбаваць піксель? 6. Які кампанент выкарыстоўваецца для адліку часу? |
Практыкаванні
1. Дабаўце ў праект з прыкладу 4.4. яшчэ адну жывёлу (напрыклад, вавёрку). Для змяшчэння вавёркі дабавіць яшчэ адну кнопку. Месцазнаходжанне вызначаць выпадковым чынам у верхавіне якога-небудзь дрэва.
2. Дабаўце ў праект 4.5 наступныя магчымасці.
2.1. Восі каардынат са стрэлкамі і подпісамі.
2.2. Адзінкавы адрэзак на восі X.
2.3. Графік функцыі y = 0.3x2 – 4x + 2, у той жа сістэме каардынат, чырвоным колерам.
3. Змяніце праект з прыкладу 4.8 так, каб будавалася лінейная дыяграма (слупкі змешчаны гарызантальна).
4*. Змяніце праект з прыкладу 4.8 так, каб значэнні ў масіў можна было ўводзіць. Для гэтага неабходна лікі запісваць у кампанент Edit, счытваць радок з лікаў і прабелаў, вылучаць лічбы і ператвараць іх у лікавыя значэнні.
5. Змяніце праект прыкладу 4.10. Замяніць самалёт на верталёт і дабавіць кнопку «Стоп», пры націсканні на якую верталёт спыніцца. *Пасля спынення верталёта павінен з'явіцца парашут з грузам, які апусціцца ўніз.
6*. Стварыце анімацыю руху Месяца вакол Зямлі. Для разліку каардынат верхняга левага вугла Image2, які змяшчае Месяц, можна выкарыстаць параметрычнае ўраўненне акружнасці: x = Rsin(t), y = Rcos(t), дзе R — радыус, а t — параметр, што змяняе сваё значэнне ад 0 да 2π.