Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по инф-ке.docx
Скачиваний:
8
Добавлен:
27.10.2018
Размер:
160.25 Кб
Скачать

12. Граф. Процедуры и функции. Граф. Объекты.

Граф. объекты предназн-ны для отображения рисунков или граф. примитивов.

Вкладка Additional: Image – образ, Shape – фигура.

Св-во Shape: shpRis.Shape:=stCircle, stCircle — круг, stEllipse — эллипс, stRectangle — прям-к, stRoundRect — прям-к со скругленными концами, stRoundSquare — квадрат со скругл. концами, stSquare — квадрат.

Вкладка System: PaintBox – картинка, Canvas – холст для рис-я.

Рис-е производится:

1. Пером (Pen) – контур.

Св-ва: Color – цвет пера; imgGrafic.Canvas.Pen.Color:= RGB(255,255,255); Mode – режим рис-я линий; imgGrafic.Canvas.Pen.Mode:= pmBlack; Style – стиль рис-я линий; imgGrafic.Canvas.Pen.Style:= psSolid; psSolid – сплош. линия, psDash – штрих. линия, psDot – пунктир.линия.

2. Кистью (Brush) для закраски фона.

imgGrafic.Canvas.Brush.Color:=RGB(255,255,255);

Style – стиль закраски; Св-во Style опр-ет шаблон, кот. кисть заполняет фон объекта. Но если для кисти задано св-во Bitmap, то св-во Style игнор-ся. imgGrafic.Canvas.Brush.Style:=bsSolid;

Возмож. знач-ия св-ва Style:

bsSolid – сплошная; bsCross – решеточка; bsClear – прозрачная и некот. другие.

Граф. процедуры и ф-ии: 1 группа:

1. Метод MoveTo изменяет текущую позицию пера PenPos на задан. точку (X, Y). Это эквивалентно непосредственной установке св-ва PenPos. При перемещении пера методом MoveTo ничего не рисуется.

2. Метод LineTo рисует на канве прямую линию, начин. с текущей позиции пера PenPos и кончающуюся точкой (X, Y), исключая саму точку (X, Y). Текущая позиция пера PenPos перемещается в точку (X, Y). При рис-и использ. текущие установки пера Pen.

Операторы ImgGrafic.Canvas.MoveTo(X1,Y1); ImgGrafic.Canvas.LineTo(X2,Y2);

ImgGrafic.Canvas.LineTo(X3,Y3); рисуют кусочно-ломаную прямую, соед. точки (X1,Y1), (X2,Y2) и (X3,Y3).

3. Метод Rectangle рисует на канве текущим пером Pen прям-к, верхний левый угол кот. имеет координаты (X1, Y1), а нижний правый - (X2, Y2). Прям-к закрашивается текущей кистью Brush.

Рис-е прям-ка без рамки м. осущ-ть методом FillRect.

4. Метод FrameRect рисует на канве прямоуг. рамку вокруг области Rect, исп-я установку текущей кисти Brush. Толщина рамки - 1 пиксель. Область внутри рамки кистью не заполняется. Отлич-ся от метода Rectangle тем, что рамка рисуется цветом кисти (в методе Rectangle - цветом пера Pen) и область не закрашивается (в методе Rectangle закрашивается).

5. Метод Ellipse рисует окр-сть (эллипс) с пом-ю текущ. параметров пера Pen. Фигура запол-ся текущим знач-ем Brush. Точки (X1, Y1),(X2, Y2) опр-ют прям-к, описывающий элл.

6. Метод Chord рис. замкн. фигуру: дугу окр-сти, эллипса, замкнутую хордой, с пом-ю текущ параметров пера Pen.

7. Метод Pie рисует замк. фигуру - сектор окр-сти, эллипса с пом-ю текущих параметров пера Pen. Фигура заполняется текущим зн-ем Brush.

8. Ф-ия TextOut пишет строку текста Text на канве, начиная с позиции с корд. (X, Y). Надпись делается в соотв-ии с текущ. установками шрифта Font. Фон надписи опред-ся установками текущей кисти. Текущая позиция PenPos пера Pen перемещается к концу вывед. текста.

Для выравнивания позиции текста на канве можно исп-ть методы, дающие перед выводом высоту и длину текста в пикселях: методы TextExtent, TextHeight и TextWidth.

2 группа:

1. Метод FillRect заполняет прям-к канвы, указанный параметром Rect, исп-я текущее знач-ие кисти Brush. Заполняемая область включает верх. и лев. стороны прям-ка, но не включает прав. и нижн. стороны. При исп-ии FillRect параметр Rect часто задается ф-ей Rect.

2. Метод FloodFill закрашивает текущей кистью Brush замкн. область канвы, опр-ую цветом и нач. точкой закрашивания (X, Y). Точка с коорд. X и Y явл-ся произв. внутр. точкой заполняемой области, кот. может иметь произв. форму. Граница этой области опред-ся сочетанием параметров Color и FillStyle. Параметр Color указывает цвет, кот. использ. при опред-ии границы закраш. области, а параметр FillStyle опр-ет, как именно по этому цвету опред-ся граница.

3. Метод CopyRect переносит указ. параметром Source область изобр-я в канве источника изобр-я Canvas в указ. параметром Dest область дан. объекта TCanvas. Копир-е производится в режиме, установл. св-вом CopyMode.

4. BrushCopy – копирует часть изобр-я.

5. Метод Draw рисует изобр-е, содержащееся в объекте, указ. параметром Graphic, сохраняя исх. размер изобр-я в его источнике и перенося изобр-е в область канвы объекта TCanvas, верх. лев. угол которой опр-ся X и Y. Источник изобр-я м.б. битовой матрицей, пиктограммой или метафайлом. Если источник - объект типа TBitmap, то перенос изобр-я производится в режиме, установленном свойством канвы CopyMode.

6. Метод StretchDraw рисует на канве изобр-е, содерж. в объекте, указ. параметром Graphic, в прямоуг. область, указанную параметром Rect. При этом размер изобр-я подгоняется под размер зад. области. Этим метод StretchDraw отлич-ся от метода Draw, кот. оставляет размер неизменным. Объект Graphic м.б. типа битовой матрицы, пиктограммы или метафайла. Если объект - битовая матрица типа TBitMap, то при переносе изобр-я учит-ся режим копир-я, установленный св-вом канвы CopyMode.