Дадатак да главы 4
Работа з графікай на канве
Уласцівасць Pen (аловак) дазваляе вызначаць колер, таўшчыню і стыль ліній.
Асноўныя ўласцівасці класа TРеn |
|
Свойство |
Прызначэнне |
Color |
Колер алоўка |
Style |
Стыль лініі вызначае, ці будзе яна суцэльнай або пункцірнай |
Width |
Таўшчыня лініі ў пікселях |
Уласцівасць Style можа прымаць значэнні, названыя ў табліцы.
Уласцівасць Brush (пэндзаль) прызначана для запаўнення абласцей зададзеным шаблонам. Пэндзаль валодае ўласцівасцямі Color, Style.
Некаторыя ўласцівасці класа TFont |
|
Name |
Назва шрыфту, пад якім ён зарэгістраваны ў Windows, напрыклад Times New Roman, Courier і іншыя |
Size |
Вышыня шрыфту ў пікселях |
Style |
Стыль шрыфту. Магчымыя значэнні: fsBold (паўтлусты); fsltalic (курсіў); fsUnderline (падкрэслены); fsStrikeOut (закрэслены) |
Color |
Колер |
Метады канвы дазваляюць будаваць графічныя малюнкі на канве. Шмат у чым метады канвы супадаюць з аналагічнымі камандамі пабудовы графічных малюнкаў у асяроддзі PascalABC.
Кароткае апісанне метадаў класа TCanvas |
||
Arc(x1,y1,х2,y2,х3,y3,х4,y4); |
Маляванне часткі эліпса |
|
Chord(x1,y1,x2,y2,x3,y3,x4,y4); |
Малюецца замкнёная фігура (сегмент), створаная перасячэннем эліпса і адрэзка прамой лініі (хорды) |
|
Ellipse(x1, y1, х2, y2); |
Малюецца эліпс |
|
FloodFill(x,y,Color,FillStyle); |
Запаўненне зададзеным колерам вобласці палатна, прылеглага да пункта, зададзенага ў якасці параметра |
|
LineTo(x, y); |
Малюе лінію ад пункта, вызначанага ўласцівасцю PenPos да пункта, паказанага ў якасці параметра |
|
MoveTo(x, y); |
Устанаўлівае бягучую пазіцыю графічнага курсора ў пункт, які зададзены ў параметрах метаду |
|
Pie(x1,y2,x2,y2,x3,y3,x4,y4); |
Малюецца сектар эліпса, размешчаны ўнутры зададзенага прамавугольніка |
|
Polygon(Points: array of TPoint); |
Малюецца складаная фігура, якая складаецца з адрэзкаў, якія паслядоўна злучаюць пункты, прадстаўленыя ў выглядзе масіва элементаў TPoint. Апошні пункт злучаецца з першым. Унутраная частка фігуры запаўняецца ў адпаведнасці са значэннем уласцівасці Brush |
|
Polyline(Points: array of TPoint) |
Метад аналагічны папярэдняму, але запаўнення ўнутранай часткі фігуры не адбываецца |
|
Rectangle (x1, y1,x2,y2); |
Малюецца прамавугольнік, унутраная вобласць якога запаўняецца ў адпаведнасці са значэннем уласцівасці Brush |
|
RoundRect( x1, y1,x2,y2,x3,y3); |
Малюецца прамавугольнік са скругленымі вугламі. Параметры x3, y3 вызначаюць шырыню і вышыню эліпса для скруглення вуглоў |
|
TextOut(x,y,Text); |
Вывад радка ў канкрэтную пазіцыю палатна |
Разгледзім падрабязней метады, адрозныя ад аналагічных працэдур у PascalABC.
Метад Ellipse малюе эліпс, у якім пункты (x1, y1) і (x2, y2) вызначаюць прамавугольнік, які апісвае эліпс.
Метады Arc, Chord и Pie маюць аднолькавыя параметры. Пункты (x1, y1) і (x2, y2) вызначаюць прамавугольнік, які апісвае эліпс, у якім будуецца дуга, сегмент або сектар. Пачатковы пункт дугі, сегмента або сектара вызначаецца перасячэннем эліпса з прамой, якая праходзіць праз яго цэнтр і пункт (x3, y3). Канчатковы пункт дугі, сегмента або сектара вызначаецца перасячэннем эліпса з прамой, якая праходзіць праз яго цэнтр і пункт (x4, y4). Маляванне адбываецца ад пачатковага пункта да канчатковага супраць гадзіннай стрэлкі. Прыклады пабудовы дугі, сегмента, сектара і параметры адпаведных метадаў.
Метад FloodFill запаўняе замкнёную вобласць на канве, якая змяшчае ўнутры сябе пункт з каардынатамі x, y. Мяжа вобласці залівання вызначаецца спалучэннем параметраў Color і FillStyle. Калі для параметра Fillstyle вызначыць значэнне fsBorder, то каманда будзе працаваць гэтак жа, як і аналагічная каманда ў асяроддзі BP. Будзе зафарбаваная вобласць, абмежаваная колерам Color. Калі для параметра Fillstyle вызначыць значэнне fsSurface, то колер Color заменіцца, а іншыя колеры ўнутры вобласці застануцца нязменнымі. Колер і стыль, якім будзе вырабляцца заліванне, вызначаюцца ўласцівасцямі Brush.