14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Это мы добавим внутрь<br />

оп<strong>е</strong>ратора using, создающ<strong>е</strong>го<br />

объ<strong>е</strong>кт Р<strong>е</strong>п.<br />

Добавим указы ваю щ ую на цв<strong>е</strong>ток стр<strong>е</strong>лку<br />

Н<strong>е</strong>которы<strong>е</strong> м<strong>е</strong>тоды объ<strong>е</strong>кта G r a p h i c s б<strong>е</strong>рут массив объ<strong>е</strong>ктов P o i n t и со<strong>е</strong>диняют их линиями<br />

или кривыми. М<strong>е</strong>тодом D r a w L i n e s {) нарису<strong>е</strong>м након<strong>е</strong>чник стр<strong>е</strong>лы, а м<strong>е</strong>тодом<br />

D r a w C u r v e О —<strong>е</strong><strong>е</strong> основу. Есть и други<strong>е</strong> м<strong>е</strong>тоды, работающи<strong>е</strong> с массивами точ<strong>е</strong>к (наприм<strong>е</strong>р,<br />

м<strong>е</strong>тод D r a w P o l y g o n () рису<strong>е</strong>т замкнуты<strong>е</strong> формы, а м<strong>е</strong>тод F i l l P o l y g o n O заполня<strong>е</strong>т их).<br />

д . D r a w L i n e s ( t h i c k B l a c k P e n , n e w P o i n t [] {<br />

n e w P o i n t ( 1 3 0 , 1 1 0 ) , n e w P o i n t ( 1 2 0 , 1 6 0 ) , n e w P o i n t (1 5 5 , 1 6 3 ) } ) ;<br />

g . D r a w C u r v e ( t h i c k B l a c k P e n , n e w P o i n t []<br />

n e w P o i n t ( 1 2 0 , 1 6 0 ) , n e w P o i n t ( 1 7 5 ,<br />

{<br />

120)<br />

n e w P o i n t ( 2 1 5 , 7 0 ) } ) ;<br />

}<br />

Зд<strong>е</strong>сь заканчива<strong>е</strong>тся блок<br />

using, объ<strong>е</strong>кт thickBlackPen<br />

удаля<strong>е</strong>тся, так как он нам<br />

дольш<strong>е</strong> н<strong>е</strong> нуж<strong>е</strong>н.<br />

ч<br />

На основ<strong>е</strong> массива точ<strong>е</strong>к м<strong>е</strong>тод<br />

VrawCurveO рису<strong>е</strong>т гладкую,<br />

со<strong>е</strong>диняющую их друг с другом<br />

кривую.<br />

О Добавим шрифт<br />

П<strong>е</strong>рво<strong>е</strong>, что тр<strong>е</strong>бу<strong>е</strong>тся для написания т<strong>е</strong>кста, —создать объ<strong>е</strong>кт Font. Снова напиш<strong>е</strong>м оп<strong>е</strong>ратор<br />

using, так как он р<strong>е</strong>ализу<strong>е</strong>т инт<strong>е</strong>рф<strong>е</strong>йс I D i s p o s a b l e . Создать ш рифт просто. Сущ<strong>е</strong>ству<strong>е</strong>т<br />

н<strong>е</strong>сколько п<strong>е</strong>р<strong>е</strong>груж<strong>е</strong>нных конструкторов, самый простой использу<strong>е</strong>т имя шрифта,<br />

<strong>е</strong>го разм<strong>е</strong>р и п<strong>е</strong>р<strong>е</strong>числ<strong>е</strong>ни<strong>е</strong> FontStyle.<br />

u s i n g ( F o n t f o n t = n e w F o n t ( " A r i a l " , 1 6 , F o n t S t y l e . I t a l i c ) ) {<br />

Добавим т<strong>е</strong>кст « N e c ta r h e re »<br />

Опр<strong>е</strong>д<strong>е</strong>лим м<strong>е</strong>сто для строки, выяснив, какой разм<strong>е</strong>р она буд<strong>е</strong>т им<strong>е</strong>ть на форм<strong>е</strong> при помощи<br />

м<strong>е</strong>тода M e a s u r e S t r i n g (), возвращающ<strong>е</strong>го парам<strong>е</strong>тр SizeF. (SizeF —это в<strong>е</strong>рсия<br />

f l o a t парам<strong>е</strong>тра Size). Так как мы зна<strong>е</strong>м, гд<strong>е</strong> находится кон<strong>е</strong>ц стр<strong>е</strong>лки, пом<strong>е</strong>стим над ним<br />

ц<strong>е</strong>нтральную точку надписи.<br />

S iz e F s i z e = g . M e a s u r e S t r i n g ( " N e c t a r h e r e " , f o n t ) ;<br />

g . D r a w s t r i n g ( " N e c t a r h e r e " , f o n t . B r u s h e s . R e d , n e w P o i n t (<br />

2 1 5 - ( i n t ) s i z e . W i d t h / 2 , 70 - ( i n t ) s i z e . H e i g h t ) ) ;<br />

} _______________<br />

} ^ ^ f 'I® forml ^<br />

Ч f-je забудьт<strong>е</strong> закрыть оба блока using.<br />

Дія создания обь<strong>е</strong>кта Rectangle тр<strong>е</strong>бу<strong>е</strong>тся<br />

точка и парам<strong>е</strong>тр Size ( то <strong>е</strong>сть ширина<br />

и высота). Зат<strong>е</strong>м вы мож<strong>е</strong>т<strong>е</strong> опр<strong>е</strong>д<strong>е</strong>лить<br />

<strong>е</strong>го границы и пров<strong>е</strong>рить м<strong>е</strong>тодом<br />

Contains ( ) , с<strong>е</strong>ть ли внутри обь<strong>е</strong>кт Point.<br />

дальш<strong>е</strong> > 607

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!