Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Перо - Pen



Графические возможности Delphi

 

Delphi предоставляет возможность создания приложений, с помощью которых можно получать графические изображения. Многие компоненты Delphi (в первую очередь TForm) имеют свойство Canvas (холст), представляющее собой поверхность рисования. Для того чтобы вывести на поверхность рисования графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойствуCanvas соответствующий метод. Например, инструкция Form1.Canvas.Rectangle(10, 10, 100, 100) вычерчивает на форме прямоугольник. В свою очередь, свойство Canvas - это объект типа TCanvas. Класс TCanvas – это сердцевина графической подсистемы Delphi. Он объединяет в себе и "холст" (поверхность рисования), и "рабочие инструменты" (перо, кисть, шрифт), и даже "подмастерьев" (набор функций по рисованию типовых геометрических фигур). Свойством Canvas обладает не только форма, но и другие компоненты: TBitmap, TComboBox, TDBComboBox, TDBGrid, TDBListBox, TDirectoryListBox, TDrawGrid, TFileListBox, TForm, TImage, TListBox, TOutLine, TPaintBox, TPrinter, TStringGrid.

Перо - Pen

 

Перо используется для вычерчивания точек, линий, контуров геометрических фигур: прямоугольников, окружностей, эллипсов, дуг и др. Вид линии, которую оставляет перо на поверхности холста, определяют свойства объекта Pen (тип TPen), которые перечислены в таблице 1.

 

Таблица 1. Свойства объекта Pen

 

Свойство Определяет
Color Цвет линии
Width Толщину линии
Style Вид линии
Mode Режим отображения
Handle Объект карандаша в прямых вызовах процедур Windows API

 

В таблице 2 перечислены именованные константы (тип ТColor), которые можно использовать в качестве значения свойства Color.

 

Таблица 2. Значения свойства Pen.Color

 

Константа Цвет Константа Цвет
clBlack Черный clSilver Серебристый
clMaroon Каштановый clRed Красный
clGreen Зеленый clLime Салатный
clOlive Оливковый clBlue Синий
clNavy Темно-синий clFuchsia Ярко-розовый
clPurple Розовый clAqua Бирюзовый
clTeal Зелено-голубой clWhite Белый
clGray Серый    

 

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

 

Свойство PenPos (тип TPoint) определяет текущую позицию пера. При этом рекомендуется перемещать перо с помощью метода MoveTo, а не прямой установкой данного свойства.

 

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

 

Таблица 4.3. Стиль линии

 

Константа Вид линии
psSolid Сплошная линия
psDash Пунктирная линия, длинные штрихи
psDot Пунктирная линия, короткие штрихи
psDashDot Пунктирная линия, чередование длинного и короткого штрихов
psDashDotDot Пунктирная линия, чередование одного длинного и двух коротких штрихов
psClear Линия не отображается

 

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

 

Таблица 4. Значения свойства Pen.Mode

 

Константа Цвет линии
pmBlack Черный, не зависит от значения свойства Pen.Color
pmWhite Белый, не зависит от значения свойства Pen.Color
pmCopy Цвет линии определяется значением свойства Pen.Color
pmNotCopy Цвет линии является инверсным по отношению к значению свойства Pen.Color
pmNot Цвет линии определяется как инверсный по отношению к цвету точки холста, в которую выводится точка линии

 


Дата добавления: 2015-07-11; просмотров: 61 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.006 сек.)