. Стиллмен, Дж. Грин - Изучаем 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