Вы находитесь на странице: 1из 16

Grafica în C++ Builder

Canvas

Canvas — это поверхность (формы или компонента image), на


которой соответствующие методы ,могут вычерчивать
графические примитивы. Вид графических элементов
определяют свойства поверхности, на которой эти элементы
вычерчиваются.
Canvas - este o suprafață (a formei sau a componentei image), pe
care metodele respective pot desena primitive grafice. Forma
elementelor grafice determina proprietățile suprafeței pe care sunt
desenate aceste elemente.
Metode obiectului canvas
MoveTo(x,y) Перемещает указатель текущей точки в точку с
указанными координатами.
Deplasează punctul curent la punctul cu coordonatele specificate.
LineTo(x,y) Вычерчивает линию из текущей точки в точку с
указанными
координатами. Вид линии определяет свойство Pen.
Extrage o linie de la punctul curent la punctul cu coordonatele indicate.
Tipul de liniei este definită prin Pen.
Rectangle(x1,y1,х2,у2) Вычерчивает прямоугольник. Параметры xl,
yl, x2 и у2 задают координаты левого верхнего и правого
нижнего углов. Вид линии определяет свойство Реn, цвет и
способ закраски внутренней области — свойство Brush
Extrage un dreptunghi. Parametrii x1, y1, x2 și y2 specifica
coordonatele din stânga sus și de dreapta jos a colțurilor. Forma
liniei este definită de proprietate Pen, culoarea și modul de a umple
zona interioară are loc prin proprietate Brush.
continuare
Ellipse (x1, y1, х2,у2) Вычерчивает эллипс, окружность или круг.
Параметры x1,y1, x2 и у2 задают размер прямоугольника, в который
вписывается эллипс.
Extrage o elipsă, cerc, sau oval. Parametry x1, y1, x2 și y2 specifică
dimensiunea dreptunghiului în care elipsa se înscrie.
Arc(xl,yl,x2,y2,хЗ,уЗ,х4,у4) Вычерчивает дугу. Параметры x1, y1, x2, у2
определяют эллипс, из которого вырезается дуга, параметры х3, у3, х4
и у4 — координаты концов дуги. Дуга вычерчивается против часовой
стрелки от точки (хЗ, уЗ) к точке (х4, у4). Вид линии (границы)
определяет свойство Реn, цвет и способ закраски внутренней области
— свойство Brush.
Extrage un arc. Parametrii x1, y1, x2, y2 se definește o elipsă din care se taie
un arc x2, y2, x3, și y3 - coordonatele capetelelor arcului . Arcul este
desenat invers acelor de ceasornic de la punctul (x3, y3) la punctul (x4, y4).
Polyline(p, n) Вычерчивает ломаную линию. Координаты точек перегиба
задает параметр p — массив структур типа Tpoint , и количество
звеньев линии n. Вид линии определяет свойство Реn
Deseneaza o polilinie. Coordonatele punctelor de inflexiune stabilește tabloul p
de tip TPoint, precum și numărul de unități de linii n.
continuare

Polygon(p, n) Bычерчивает многоугольник. Инструкция вызова метода в общем


виде выглядит так: Canvas->Polygon(p, п)
где р — массив записей типа TPoint, который содержит координаты вершин
многоугольника; п — количество вершин.
Desenează un poligon. Instructiuni de apel a metodei într-o formă generală arată
astfel: Canvas-> Poligon (p, n)
unde p – un tablou de tip Tpoint, care conține coordonatele vârfurilor poligonului; n -
numărul de vîrfuri..

TextOutA(x,y,s) Выводит строку s от точки с координатами (х, у). Шрифт


определяет свойство Font поверхности Canvas, на которую выводится текст,
цвет закраски области вывода текста —свойство Brush этой же поверхности.
Exstrage șirul s de la punctul cu coordonatele (X, Y). Proprietate Font determină
formatarea suprafeții Canvas, pe care este afișat testul, culoarea zonei de
umplere de text are loc prin Brush.
Obiectul Pen

Объект Реn является свойством объекта


canvas. Свойства объекта Реп определяют
цвет, стиль и толщину линий
вычерчиваемых методами вывода
графических примитивов.
Obiectul Pen este o proprietate a obiectului
Canvas. Proprietățile obiectului Pen determină
culoarea, stilul și grosimea liniilor primitive
grafice.
Color

Codurile culorilor principale, care pot fi utilizate pentru toate


obiectele grafice.
• Negru clBlack
• Albastru clBlue
• Verde clGreen
• Rosu clRed
• Galben clYellow
• Mov clFuschia
• Maroc clMaroon
• Alb clWhite
• Argintiu clSilver
• Gri clGray
Style
• Стиль (вид) линии. Линия может быть:
• psSolid— сплошная;
• psDash —пунктирная (длинные штрихи);
• psDot — пунктирная (короткие штрихи);
• psDashDot — пунктирная (чередование длинного и короткого штрихов);
• psDashDotDot — пунктирная (чередование одного длинного и двух
коротких штрихов);
• psClear— не отображается (используется, если не надо изображать
границу, например, прямоугольника)
• Linia poate fi:
• psSolid- continuă;
• psDash - punctată (liniuțe lung);
• psDot - punctată (liniuțe scurte);
• psDashDot - punctat (alternativ liniuțe lungi și scurte);
• psDashDotDot - punctată (alternativ unul lung si doua liniute scurte);
• psClear- nu este afișat (utilizat în cazul în care nu este necesar pentru a
reprezenta linia)
Width

• Толщина линии задается в пикселах.


Толщина пунктирной линии не может быть
больше 1.
• Grosimea liniei este dată în pixeli. Grosimea
liniei punctată nu poate să fie mai mare de 1.
Obiectul Brush
• Свойства объекта Brush задают цвет и способ закраски
области внутри прямоугольника, круга, сектора или
замкнутого контура.
• Объект Brush имеет следующие свойства:
• Color имеет аналогичные свойства, что и Color объекта Pen.
• Style
• Proprietatea obiectul Brush redă culoarea și modul în care se
vopsește interiorul dreptunghiului, cercul, sectorului sau zone
închise.
• Obiectul Brush are următoarele proprietăți:
• Color are proprietăți analogice ca Color obiectului Pen
• Style
Style

• bsSolid umple uniform toti pixelii cu culoarea


selectata
• bsHorizontal hasura orizontala
• bsVertical hasura verticala
• bsFDiagonal hasura (diagonala stanga-dreapta)
• bsBDiagonal hasura /// (diagonala dreapta –
stanga)
• bsCross hasura in cruce +++
• bsDiagCross hasura in cruce oblica xxx
Obiectul Font

Шрифт, который используется для вывода текста,


определяется значением
свойства Font соответствующего объекта canvas.
Свойство Font представляет
собой объект типа TFont. определяющие
характеристики шрифта, используемого методом
TextOutA
Șiftul folosit pentru extragerea textului se apreciază cu
proprietățile obiectului Font, care pot modifica
caracteristiciletextului.
Proprietățile TFont
Name Используемый шрифт. В качестве значения следует
использовать название шрифта (например, Arial)
Permite de a lege șiftul necesar indicînd denumirea (analogic ca
in word)

Size Размер шрифта в пунктах (points). Пункт— это единица


измерения размера шрифта, используемая в полиграфии.
Один пункт равен 1/72 дюйма
Mărimea textului se măsoară ăn puncte, utilizat în poligrafie.
Un punct esre egal cu 1/72 inci.
continuare
Style Стиль начертания символов. Может быть: нормальным, полужирным,
курсивным, подчеркнутым, перечеркнутым. Стиль задается при помощи
следующих констант:
fsBold (полужирный),
fsItalic (курсив),
fsUnderline (подчеркнутый),
fsStrikeOut (перечеркнутый)
Свойство Style является множеством, что позволяет комбинировать
необходимые стили. Например, инструкция, которая устанавливает
стиль "полужирный курсив", выглядит так:
Canvas->Font->Style =TFontStyles () «fsBold«fsUnderline

Color Цвет символов. В качестве значения можно использовать константу


типа TColor
Indică culoarea textului. Se alege analogic ca culorile obiectului Pen.
Exemplu va desena ovale de diferite culori
• Canvas->Pen->Width = 1;
• Canvas->Pen->Color = clBlack;
• Canvas->Brush->Color = clCream;
• Canvas->Rectangle (30, 30, 150, 150) ;
• Canvas->Pen->Width = 2; // ширина колец
• Canvas->Brush->Style = bsClear; // чтобы круг, нарисованный
• / / методом Ellipse, не был закрашен
• // рисуем кольца
• Canvas->Pen->Color = clBlue;
• Canvas->Ellipse(40,40,80,80) ;
• Canvas->Pen->Color = clBlack;
• Canvas->Ellipse (70, 40, 110, 80) ;
• Canvas->Pen->Color = clRed;
• Canvas->Ellipse (100, 40, 140, 80) ;
• Canvas->Pen->Color = clYellow;
• Canvas->Ellipse (55, 65, 95, 105) ;
• Canvas->Pen->Color = clGreen;
• Canvas->Ellipse (85, 65, 125, 105) ;
Exemplu de desenare a poliliniei și a poligonului

• TPoint p[4];
• р[0].х = 100; р[0].у = 100; // începutul liniei
• р[1].х = 100; р[1].у = 150; // punct de inflexiune
• р[2].х = 150; р[2].у = 150; // punct de inflexiune
• р[3].х = 150; р[3].у = 100; // sfîrșitul
• Canvas->Polyline(р,3);

• TPoint p [ 4 ] ; // patru vîrfuri pentru a desena un romb


• р[0].х = 50; р[0].у = 100;
• р[1].х = 150; р[1].у = 75;
• р[2].х = 250; р[2].у = 100;
• р[3].х = 150; р[3].у = 125;
• Canvas->Brush->Color = clRed;
• Canvas->Polygon(p,3);

Оценить