Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi.Начало.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.56 Mб
Скачать

Задание цвета

Цвет объекта можно задавать тремя способами.

  1. С помощью предопределенных констант:

Константа

Цвет

clWhite

Белый

clBlack

Черный

clRed

Красный

Например, названия констант, обозначающих цвета, хорошо видны в свойстве Color формы.

  1. С помощью шестнадцатеричных констант, например:

$00FF0000 – голубой цвет,

$0000FF00 – зеленый цвет,

$000000FF – красный цвет,

$00000000 – черный,

$00FFFFFF – белый.

Где первые две цифры (слева направо) всегда нули, вторые две цифры – задают интенсивность голубого цвета от 00 до FF(256), две третьи цифры – задают интенсивность зеленого цвета, последние две цифры – задают интенсивность красного цвета.

Пример1:

var

col1:TColor;

col1:=$AB00CC;

Цвет col1 – это будет смешение голубого и красного цвета.

  1. С помощью функции RGB.

Функция возвращает цвет, значение типа TColor, который является смешением трех цветов: красного, зеленого и голубого. Первый аргумент задает интенсивность красного цвета, второй - задает интенсивность зеленого цвета, третий – интенсивность голубого цвета. Интенсивность задается числом от 0 до 256.Синтаксис функции:

function RGB(r:byte,g:byte,b:byte):TColor;

Например:

var r,b,g:byte;

col:TColor;

r:=56; b:=245; g:=25;

col:=RGB(r,g,b);

with Canvas do

begin

Pen.Color:=col;

MoveTo(50,40);

LineTo(100,250);

End;

Рисование фигур

Метод Ellipse – позволяет нарисовать эллипс, вписанный в прямоугольник, заданный координатами своих вершин. Синтаксис:

procedure Ellipse(X1, Y1, X2, Y2: Integer);

Где X1, Y1 – координаты левого верхнего угла прямоугольника

X2, Y2 – координаты правого нижнего угла прямоугольника

Пример:

Ellipse(50,50,200,250);

Метод Rectangleпозволяет нарисовать прямоугольник, заданный координатами своих вершин. Синтаксис:

procedure Rectangle(X1, Y1, X2, Y2: Integer);

Где X1, Y1 – координаты левого верхнего угла прямоугольника;

X2, Y2 – координаты правого нижнего угла прямоугольника.

Для задания границы прямоугольника используется свойство Pen, для задания цвета заполнения используется свойство Brush(кисть).

Для рисования прямоугольника со скругленными углами используется свойство RoundRect. Например, нарисовать прямоугольник зеленого цвета с желтой границей:

With canvas do

Begin

Pen.Color:=clYellow;

Brush.Color:=clRed;

Rectangle(50,20,200,150);

End;

Свойство Brushэто объект, со своими свойствами и методами, который позволяет задать цвет заполнения фигуры, стиль заполнения.

Свойства класса tBrush

Свойство

Описание

Color

Цвет

Style

Стиль

Для задания стиля используются следующие константы:

bsSolid - сплошное заполнение

bsClear - нет заполнения

bsBDiagonal и bsFDiagonal – диагональная штриховка

bsCross - поперечная штриховка

bsDiagCross - диагонально-поперечная штриховка

bsHorizontal- горизонтальная штриховка

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

Например, заполнить прямоугольник с синей границей штриховкой желтого цвета:

with canvas do

begin

brush.Style:=bsDiagCross;

brush.Color:=clYellow;

pen.Color:=clBlue;

pen.Width:=6;

rectangle(100,100,200,200);

end;

Метод RoundRectпрямоугольник со скругленными углами. Синтаксис:

procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);

Где X1, Y1, X2, Y2 – координаты вершин прямоугольника.

X3 – задает ширину и Y3 – задает высоту скругления.

Например:

RoundRect(200,150,250,200,10,20);

Метод Pieиспользуется для рисования сегмента эллипса, заданного прямо­уголь­ником с координатами X1,Y1, X2,Y2. Сегмент определяется двумя линиями, соединяю­щими центр эллипса с точками с координатами X3,Y3,X4,Y4. Синтаксис:

procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Longint);

Например:

pie(100,300,200,400,200,370,180,300);

Метод FloodFillиспользуется для заполнения замкнутой области цветом, задаваемым кистью (Brush). Синтаксис:

procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);

Заполнение начинается с точки с координатами X и Y. Каким образом будет происходить заполнение, определяет параметр FillStyle – стиль заполнения. FillStyle может иметь два значения, описанных в таблице.

Значение

Описание

fsSurface

Область заполняется до тех пор, пока в ней присутствует цвет, заданный параметром Color

fsBorder

Область, которая будет заполнена, ограничена цветом, задаваемым параметром Color

Пример1.Нарисовать треугольник красного цвета с зеленой границей:

with canvas do

begin

pen.Width:=3;

pen.Color:=clGreen;

brush.Color:=clRed;

MoveTo(200,100);

LineTo(100,200);

LineTo(300,200);

LineTo(200,100);

FloodFill(200,150,clGreen,fsBorder);

end;

То, что получится, вы видите на рисунке:

Пример 2. Нарисовать треугольник, заполненный красным цветом, с границей красного цвета.

with canvas do

begin

pen.Width:=3;

pen.Color:=clRed;

brush.Color:=clRed;

MoveTo(200,50);

LineTo(100,200);

LineTo(300,200);

LineTo(200,50);

FloodFill(200,150,clRed,fsBorder);

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]