Дадатак да главы 4

Работа з графікай на канве

Уласцівасць Pen (аловак) дазваляе вызначаць колер, таўшчыню і стыль ліній.

Асноўныя ўласцівасці класа TРеn

Свойство

Прызначэнне

Color

Колер алоўка

Style 

Стыль лініі вызначае, ці будзе яна суцэльнай або пункцірнай

Width

Таўшчыня лініі ў пікселях

Уласцівасць Style можа прымаць значэнні, названыя ў табліцы.


Уласцівасць 
Brush (пэндзаль) прызначана для запаўнення абласцей зададзеным шаблонам. Пэндзаль валодае ўласцівасцямі Color, Style.

Уласцівасць Font (шрыфт) дазваляе вызначаць уласцівасці бягучага шрыфта.

Некаторыя ўласцівасці класа 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.