More Related Content
Similar to 14 progr graf (20)
More from pogromskaya (20)
14 progr graf
- 2. «Формирование изображений программным способом»
План темы:
11.. ППоонняяттииее ххооллссттаа..
22.. РРииссооввааннииее ппрряяммыыхх,, ллооммаанныыхх ии ккррииввыыхх 3.. РРииссооввааннииее ггееооммееттррииччеессккиихх ффииггуурр..
44.. ЗЗааппооллннееннииее ввннууттррееннннееггоо ппррооссттррааннссттвваа
ффииггуурр..
55.. РРииссооввааннииее вв ооггррааннииччеенннноомм
ппрряяммооууггооллььннииккее..
66.. ППррооггррааммммииррооввааннииее ээллееммееннттоовв
ааннииммааццииии..
- 3. 11.. ППоонняяттииее ххооллссттаа..
• ФФооррммииррооввааннииее ииззооббрраажжеенниийй ппррооггррааммммнныымм
ссппооссооббоомм –– ссааммыыйй ггииббккиийй ии ууннииввееррссааллььнныыйй
ссппооссообб ффооррммиирроовваанниияя ииззооббрраажжеенниийй,, нноо ии
ссааммыыйй ттррууддооёёммккиийй ((сс ттооччккии ззрреенниияя
ппррооггррааммммиирроовваанниияя))..
• ВВ ллююббоомм ввииззууааллььнноомм ккооммппооннееннттее DDeellpphhii,,
ббууддьь ттоо ффооррммаа ииллии ууппррааввлляяюющщиийй ээллееммееннтт,,
ссуущщеессттввууеетт ссппееццииааллььнныыйй ооббъъеекктт,, ссррееддссттввааммии
ккооттооррооггоо ввыыппооллнняяееттссяя ррииссооввааннииее ввииддииммыыхх
ччаассттеейй ккооммппооннееннттаа.. ООнн ннааззыыввааееттссяя ххооллссттоомм
ии ооффооррммллеенн вв ввииддее ввллоожжееннннооггоо ооббъъееккттаа
CCaannvvaass..
- 4. 11.. ППоонняяттииее ххооллссттаа..
ООббъъеекктт CCaannvvaass ииммеееетт ппяяттьь ггллааввнныыхх
ссооссттааввнныыхх ссввооййссттвв::
• PPeenn –– ддлляя ррииссоовваанниияя ллиинниийй ии ггрраанниицц
ггееооммееттррииччеессккиихх ффииггуурр;;
• BBrruusshh –– ддлляя ззааппооллннеенниияя ффииггуурр;;
• FFoonntt –– ддлляя ввыыввооддаа ттееккссттаа;;
• PPeennPPooss..XX,, PPeennPPooss..YY –– ддлляя ххррааннеенниияя
ттееккуущщеейй ппооззииццииии ррииссоовваанниияя;;
• PPiixxeellss[[XX,, YY]] –– ммаассссиивв ддлляя ззааппииссии ии
ссччииттыывваанниияя ццввееттаа ппииккссееллоовв ххооллссттаа..
- 5. 11.. ППоонняяттииее ххооллссттаа..
• ББллааггооддаарряя ссввооййссттввуу PPiixxeellss ххооллсстт
ииннттееррппррееттииррууееттссяя ккаакк ддввууммееррннааяя
ммааттррииццаа ппииккссееллоовв..
• ЭЭллееммееннтт,, ссттоояящщиийй ннаа ппеерреессееччееннииии
ссттооллббццаа XX ии ссттррооккии YY ммааттррииццыы PPiixxeellss,,
ккооддииррууеетт ццввеетт ппииккссеелляя..
• ККооооррддииннааттннааяя ссииссттееммаа ооббъъееккттаа CCaannvvaass
ввыыббррааннаа ттааккиимм ооббррааззоомм,, ччттоо ллееввыыйй
ввееррххнниийй ппииккссеелльь ииззооббрраажжеенниияя ииммеееетт
ккооооррддииннааттыы [[00,, 00]],, ооссьь ХХ ннааппррааввллееннаа
ввппррааввоо,, аа ооссьь YY –– ввнниизз..
- 6. 11.. ППоонняяттииее ххооллссттаа..
• ВВыыввоодд ггррааффииччеессккиихх ппррииммииттииввоовв
ввыыппооллнняяееттссяя сс ппооммоощщььюю ммееттооддоовв
ооббъъееккттаа CCaannvvaass,, ккооттооррыыее ммыы
рраассссммооттрриимм нниижжее вв ээттоойй ттееммее..
• ККооммааннддыы ррииссоовваанниияя ррееккооммееннддууееттссяя
ззааппииссыыввааттьь вв ооббррааббооттччииккее ссооббыыттиияя
OOnnPPaaiinntt ддлляя ффооррммыы.. ООнноо ппррооииссххооддиитт,,
ккооггддаа ффооррммаа «ппееррееррииссооввыыввааеетт» ссееббяя
ппооссллее ккааккооггоо--ллииббоо ииззммееннеенниияя ооббллаассттии
ооббннооввллеенниияя..
- 7. 22.. РРииссооввааннииее ппрряяммыыхх,, ллооммаанныыхх ии ккррииввыыхх
ллиинниийй..
• ДДлляя ррииссоовваанниияя ппрряяммыыхх,, ллооммаанныыхх ии ккррииввыыхх
ллиинниийй ииссппооллььззууююттссяя ссллееддууюющщииее ммееттооддыы
ооббъъееккттаа CCaannvvaass::
MMoovveeTToo((XX,,YY:: IInntteeggeerr)) –– ппееррееммеещщааеетт ууккааззааттеелльь
ттееккуущщеейй ппооззииццииии вв ззааддааннннууюю ттооччккуу ((ббеезз
ррииссоовваанниияя ооттррееззккаа));;
LiinneeTToo((XX,,YY:: IInntteeggeerr)) –– ррииссууеетт ппрряяммууюю ллииннииюю
оотт ттееккуущщеейй ппооззииццииии ррииссоовваанниияя ддоо ззааддаанннноойй
((XX,,YY)) ии ппееррееммеещщааеетт ууккааззааттеелльь ттееккуущщеейй
ппооззииццииии вв ээттуу ттооччккуу;;
- 8. 22.. РРииссооввааннииее ппрряяммыыхх,, ллооммаанныыхх ии ккррииввыыхх
ллиинниийй..
PPoollyylliinnee((PPooiinnttss:: aarrrraayy ooff TTppooiinntt)) –– ррииссууеетт
ллооммааннууюю ллииннииюю,, ссооееддиинняяяя ттооччккии ммаассссиивваа
PPooiinnttss.. ДДлляя ппооллууччеенниияя ээллееммееннттаа ммаассссиивваа ппоо
ддввуумм ккооооррддииннааттаамм ммоожжеетт ииссппооллььззооввааттььссяя
ффууннккцциияя PPooiinntt((XX,, YY :: IInntteeggeerr)):: TTppooiinntt,,
ннааппррииммеерр –– ннааррииссооввааттьь ррааввннооббееддрреенннныыйй
ттррееууггооллььнниикк::
CCaannvvaass..PPoollyylliinnee (([[PPooiinntt ((2200,,110000)),, PPooiinntt ((110000,, 2200)),,
PPooiinntt((118800,, 110000)),, PPooiinntt((2200,, 110000))]]));;
- 9. 22.. РРииссооввааннииее ппрряяммыыхх,, ллооммаанныыхх ии ккррииввыыхх
ллиинниийй..
AArrcc((XX11,, YY11,, XX22,, YY22,, XX33,, YY33,, XX44,, YY44 :: IInntteeggeerr)) ––
ррииссууеетт ддууггуу ээллллииппссаа.. ССммыысслл ппааррааммееттрроовв
ппоояясснняяееттссяя ннаа ррииссууннккее::
- 10. 33.. РРииссооввааннииее ггееооммееттррииччеессккиихх ффииггуурр..
• ДДлляя ррииссоовваанниияя ггееооммееттррииччеессккиихх ффииггуурр
ппррееддннааззннааччеенныы ссллееддууюющщииее ммееттооддыы
ооббъъееккттаа CCaannvvaass::
RReeccttaannggllee ((XX11,,YY11,,XX22,,YY22:: IInntteeggeerr)) –– ррииссууеетт
ппрряяммооууггооллььнниикк сс ллееввыымм ввееррххнниимм ууггллоомм
вв ттооччккее ((XX11,,YY11)) ии нниижжнниимм ппррааввыымм ууггллоомм
вв ттооччккее ((XX22,,YY22)).. ППрряяммооууггооллььнниикк
ррииссууееттссяя ттееккуущщииммии ааттррииббууттааммии ккииссттии ии
ппеерраа..
- 11. 33.. РРииссооввааннииее ггееооммееттррииччеессккиихх ффииггуурр..
RRoouunnddRReecctt ((XX11,,YY11,,XX22,,YY22,,XX33,,YY33:: IInntteeggeerr)) ––
ррииссууеетт ппрряяммооууггооллььнниикк сс ззааккррууггллеенннныыммии
ууггллааммии.. УУггллыы ррииссууююттссяя ккаакк ччееттввееррттии
ээллллииппссаа сс шшиирриинноойй XX33 ии ввыыссооттоойй YY33.. ССммыысслл
ппааррааммееттрроовв ппоояясснняяеетт ррииссуунноокк::
- 12. 33.. РРииссооввааннииее ггееооммееттррииччеессккиихх ффииггуурр..
EElllliippssee ((XX11,,YY11,,XX22,,YY22,, :: IInntteeggeerr)) –– ррииссууеетт ээллллииппсс,,
ввппииссаанннныыйй вв ппрряяммооууггооллььнниикк сс ллееввыымм
ввееррххнниимм ууггллоомм вв ттооччккее ((XX11,,YY11)) ии нниижжнниимм
ппррааввыымм ууггллоомм вв ттооччккее ((XX22,,YY22)).. ЭЭллллииппсс
ррииссууееттссяя ттееккуущщииммии ппеерроомм ии ккииссттььюю.. ССммыысслл
ппааррааммееттрроовв ппоояясснняяеетт ррииссуунноокк::
- 13. 33.. РРииссооввааннииее ггееооммееттррииччеессккиихх ффииггуурр..
PPiiee((XX11,,YY11,,XX22,,YY22,,XX33,,YY33,,XX44,,YY44:: IInntteeggeerr)) –– ррииссууеетт
ссееккттоорр ээллллииппссаа,, ввппииссааннннооггоо вв
ппрряяммооууггооллььнниикк сс ккооооррддииннааттааммии ((XX11,,YY11)) ии
((XX22,,YY22)).. ССееккттоорр ооппррееддеелляяееттссяя ддввууммяя
ррааддииууссааммии ээллллииппссаа,, ппррооххооддяящщииммии ччеерреезз
ттооччккии ((XX33,,YY33)) ии ((XX44,,YY44)).. ССммыысслл ппааррааммееттрроовв
ппоояясснняяеетт ррииссуунноокк::
- 14. 44.. ЗЗааппооллннееннииее ввннууттррееннннееггоо ппррооссттррааннссттвваа ффииггуурр..
• ДДлляя ззааппооллннеенниияя ввннууттррееннннееггоо ппррооссттррааннссттвваа ффииггуурр
ииссппооллььззууююттссяя ссллееддууюющщииее ммееттооддыы ооббъъееккттаа CCaannvvaass::
FFiillllRReecctt((ccoonnsstt RReecctt:: TTrreecctt)) –– ззааппооллнняяеетт ппрряяммооууггооллььнниикк,,
ииссппооллььззууяя ттееккуущщууюю ккииссттьь.. ДДлляя ппооллууччеенниияя
ппрряяммооууггооллььннииккаа ппоо ееггоо ккооооррддииннааттаамм ммоожжеетт
ииссппооллььззооввааттььссяя ффууннккцциияя RReecctt((XX11,,YY11,,XX22,,YY22 ::
IInntteeggeerr))..
ППРРИИММЕЕРР:: «ГГррааддииееннттннааяя ззааллииввккаа»..
FFllooooddFFiillll((XX,,YY:: IInntteeggeerr;; CCoolloorr:: TTccoolloorr;; FFiillllSSttyyllee::
TTffiillllSSttyyllee)) –– ззааллииввааеетт ооббллаассттьь ээккррааннаа,, ииссппооллььззууяя
ааттррииббууттыы ккииссттии.. ЗЗааллииввккаа ннааччииннааееттссяя вв ттооччккее ((XX,,
YY)) ии ппррооддооллжжааееттссяя ввоо ввссеехх ннааппррааввллеенниияяхх ддоо
ддооссттиижжеенниияя ууккааззаанннноойй вв ппааррааммееттррее CCoolloorr ццввееттооввоойй
ггррааннииццыы.. ССппооссообб ззааппооллннеенниияя ооббллаассттии ооппррееддеелляяееттссяя
ппааррааммееттрроомм FFiillllSSttyyllee ((ffssBBoorrddeerr, или fsSurface)..
- 15. 55.. РРииссооввааннииее вв ооггррааннииччеенннноомм ппрряяммооууггооллььннииккее..
• ННаа ппррааккттииккее ббыыввааеетт ннееооббххооддииммоо ррииссооввааттьь
ннее ннаа ввссеейй ффооррммее,, аа вв ооггррааннииччеенннноомм
ппрряяммооууггооллььннииккее.. ДДлляя ээттооггоо ппррииммеенняяееттссяя
ккооммппооннееннтт PPaaiinnttBBooxx::
ППРРИИММЕЕРР:: «ЗЗввееззддннооее ннееббоо»..
- 16. 66.. ППррооггррааммммииррооввааннииее ээллееммееннттоовв ааннииммааццииии..
• ААллггооррииттмм ппррооссттееййшшеейй ааннииммааццииии::
11.. ННааррииссооввааттьь ооббъъеекктт;;
22.. ССддееллааттьь ппааууззуу;;
33.. ССттееррееттьь ооббъъеекктт ((ннааррииссооввааттьь ццввееттоомм
ффооннаа));;
44.. ИИззммееннииттьь ккооооррддииннааттыы ооббъъееккттаа;;
55.. ННааррииссооввааттьь ооббъъеекктт;;
66.. ЕЕссллии ттррееббууееттссяя ппррооддооллжжииттьь,, ттоо ппееррееййттии
ннаа ппууннкктт 22..
ППРРИИММЕЕРР:: «ДДввиижжееннииее»..