Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по дисциплине Объектно-ориентирован...doc
Скачиваний:
33
Добавлен:
01.07.2025
Размер:
14 Мб
Скачать
☆

5.2. Карандаш и кисть

Художник в своей работе использует карандаши и кисти. Методы, обеспечивающие вычерчивание на поверхности холста графических примитивов, тоже используют карандаш и кисть. Карандаш применяется для вычерчивания линий и контуров, а кисть — для закрашивания областей, ограниченных контурами.

Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства per. (карандаш) и Brush (кисть), которые представляют собой объекты типа треп и TBrush, соответственно. Значения свойств этих объектов определяют вид выводимых графических элементов.

Карандаш

Карандаш используется для вычерчивания точек, линий, контуров геометрических фигур: прямоугольников, окружностей, эллипсов, дуг и др. Вид линии, которую оставляет карандаш на поверхности холста, определяют свойства объекта, которые перечислены в табл. 64.

Таблица 64.

Свойства объекта ТPеn

Свойство

Определяет

Color

Цвет линии

Width

Толщину линии

Style

Вид линии

Mode

Режим отображения

Свойство Color задает цвет линии вычерчиваемой карандашом. В табл. 65 перечислены именованные константы (тип TColor), которые можно использовать в качестве значения свойства color.

Таблица 65

Значения свойства Color

Константа

Цвет

Константа

Цвет

clBlack

Черный

CISilver

Серебристый

clMaroon

Каштановый

ClRed

Красный

clGreen

Зеленый

ClLime

Салатный

clOlive

Оливковым

ClBlue

Синий

clNavy

Темно-синий

ClFuchsia

Ярко-розовый

clPurple

Розовый

ClAqua

Бирюзовый

clTeal

Зелено-голубой

ClWhite

Белый

clGray

Серый

Свойство width задает толщину линии (в пикселях). Например, инструкция Canvas.Pen.width:-2 устанавливает толщину линии в 2 пикселя.

Свойство style определяет вид линии, которая может быть непрерывной или прерывистой, состоящей из штрихов различной длины. В табл. 66 перечислены именованные константы, позволяющие задать стиль линии.

Таблица 66

Значения свойства Style

Константа

Вид линии

psSolid

Сплошная линия

psDash

Пунктирная линия, длинные штрихи

psDot

Пунктирная линия, короткие штрихи

psDashDot

Пунктирная линия, чередование длинного и короткого штрихов

psDashDotDot

Пунктирная линия, чередование одного длинного и двух коротких штрихов

psClear

Линия не отображается (используется, если не надо изображать границу области, например, прямоугольника)

Примечание

Толщина пунктирной линии не может быть больше 1. Если значение свойства Pen. width больше единицы, то пунктирная линия будет выведена как сплошная.

Свойство Mode определяет, как будет формироваться цвет точек линии в зависимости от цвета точек холста, через которые эта линия прочерчивается. По умолчанию вся линия вычерчивается цветом, определяемым значением свойства Pen.Color.

Однако программист может задать инверсный цвет линии по отношению к цвету фона. Это гарантирует, что независимо от цвета фона все участки линии будут видны, даже в том случае, если цвет линии и цвет фона совпадают.

В табл. 67 перечислены некоторые константы, которые можно использовать в качестве значения свойства Pen.Mode.

Таблица 67

Значения свойства Mode

Константа

Цвет линии

pmBlack

Черный, не зависит от значения свойства Pen.Color

pmWhite

Белый, не зависит от значения свойства Реn. Color

pmCopy

Цвет линии определяется значением свойства Pen. Color

pmNotCopy

Цвет линии является инверсным по отношению к значению свойства Pen.Color

pmtNot

Цвет точки линии определяется как инверсный по отношению к цвету точки холста, в которую выводится точка линии

Кисть

Кисть (canvas.Brush) используется методами, обеспечивающими вычерчивание замкнутых областей, например геометрических фигур, для заливки (закраски) этих областей. Кисть, как объект, обладает двумя свойствам перечисленными в табл. 68.

Таблица 68

Свойства кисти

Свойство

Определяет

Color

Цвет закрашивания замкнутой области

Style

Стиль (тип) заполнения области

Область внутри контура может быть закрашена или заштрихована. В первом случае область полностью перекрывает фон, а во втором — сквозь не штрихованные участки области будет виден фон.

В качестве значения свойства Color можно использовать любую из констант типа TColor (см. список констант для свойства Pen.color в табл. 4).

Константы, позволяющие задать стиль заполнения области, приведены в табл. 69.

Таблица 69

Значения свойства Style

Константа

Тип заполнения (заливки) области

bsSolid

Сплошная заливка

bsClear

Область не закрашивается

bsHorizontal

Горизонтальная штриховка

bsVertical

Вертикальная штриховка

bsFDiagonal

Диагональная штриховка с наклоном линий вперед

bsBDiagonal

Диагональная штриховка с наклоном линий назад

bsCross

Горизонтально-вертикальная штриховка, в клетку

bsDiagCross

Диагональная штриховка, в клетку