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

Свойство Pеn

Свойство реn типа Tреп определяет атрибуты пера, применяемого для рисования линий и границ геометрических фигур. Управление атрибутами пера осуществляется через его свойства, основными из которых являются: Сolor, Style Width, Mode.

Color – определяет цвет линии и имеет тип Tcolor;

Style - определяет тип линии и принимает значения:

  • psSolid — сплошная линия (по умолчанию)

  • psDash — штриховая линия

  • psDot — пунктирная линия

  • psDashDot — штрихпунктирная линия

  • psDashDotDot — линия вида штрих точка-точка

  • psСlear — невидимая линия

Width - толщина рисуемой линии в пикселях.

Mode – способ в соответствии с которым цвет пера взаимодействует с цветом пикселей на холсте. Принимает следующие значения:

  • pmCopy – совпадает с цветом Color ( по умолчанию )

  • pmNotCopy – инверсия цвета пера

  • pmNot – инверсия цвета на поверхности рисования

  • pmMerge – объединение цвета поверхности рисования и пера

  • pmBlack - всегда черный,

  • pmWhite — всегда белый,

  • pmNop — не изменяется,

  • pmxor — объединение цветов, различных для поверхности рисования и пера

  • pmNotXor — инверсия эффекта, создаваемого pmXor

Свойство Brush

Свойство Brush типа TBrush определяет атрибуты кисти, используемой для заполнения цветом геометрических фигур. Управление атрибутами пера осуществляется через его свойства, основными из которых являются: Сolor, Style, BitMap.

Color – определяет цвет заливки и имеет тип Tcolor;

Style - определяет тип заливки и принимает значения:

  • bsSolid — сплошная заливка;

  • bsClear — заливка отсутствует.

  • bsHorizontal - параллельные горизонтальные линии,

  • bsVertical — параллельные вертикальные линии;

  • bsDiagonal - параллельные диагональные линии, направленные вверх;

  • bsCross — прямая решетка,

  • bsDiagCross — косая решетка.

Bitmap типа TBitmap - растровое изображение, используемое для заполнения

Свойство Font

Свойство Font типа TFont устанавливает параметры шрифта при выводе текста на поверхность рисования. Управление атрибутами шрифта через его свойства, основными из которых являются: Name, Size, Style, Сolor.

Name – определяет название шрифта тип String , например ‘Arial’ или ‘Times New Roman’

Size– определяет размер шрифта имеет тип Integer.

Style - определяет тип шрифта множественного типа со значениями:

  • fsItalic - курсив

  • fsBold - жирный

  • fsUnderline - подчеркнутый

  • fsNormal- нормальный

Color – определяет цвет шрифтов и имеет тип Tcolor;

Для отображения текста на поверхности рисования используется метод

TextOut( X, Y : Integer; Text: String ) x, y – координаты места вывода

Примеры использования графических примитивов

Пример 1 прямая на форме

Form1.Canvas.Pen.Color:=clRed; //цвет пера

Form1.Canvas.Pen.Width:=2; // ширина пера

Form1.Canvas.MoveTo(10,20); // установка в точку (10,20)

Form1.Canvas.LineTo(10,70); // рисование линии от точки(10,20)до (10,70)

Пример 2 прямая на области рисования PaintBox ( PB)

with PB.Canvas do

begin

Pen.Color:=clBlack;// цвет пера

Brush.Color:=clYellow;// цвет кисти

Brush.Style:=bsHorizontal; // стиль заливки

Rectangle(0,0,PB.Width, PB.Height div 2 );// закрашенный прямоугольник

end;

Пример 3 случайные точки произвольного цвета на области рисования PaintBox ( PB)

with PB.Canvas do

begin

for i:=1 to 1000 do

Pixels[Random(PB.Width),Random(PB.Height)]:=Random(256*256*256)// цвет

end

Пример 4 градации красного на области рисования PaintBox ( PB)

with PB.Canvas do

begin

for i:=0 to 255 do

begin

Pen.Color:=i;// цвет пера

MoveTo(0,i); // установка в точку начала линии

LineTo(PB.Width,i); // рисование линии

end; end

Пример 5 Рисование дуги 270 – 90 градусов на области рисования PaintBox ( PB)

with PB.Canvas do

begin

PBW:=PB.Width; PBH:=PB.Height;

Arc(0, 0, PBW, PBH, PBW div 2, PBH, PBW div 2, 0);// рисование дуги

end

Пример 6 концентрических окружностей разного цвета в области рисования PaintBox ( PB)

with PB.Canvas do

begin

X1:=0; Y1:=0; X2:=200; Y2:=200; D:=20;

for i:=1 to 5 do

begin

Brush.Color:=Random(256*256*256);// цвет кисти

X1:=X1+D; Y1:=Y1+D; X2:=X2-D; Y2:=Y2-D;

Ellipse(x1,y1,x2,y2); // рисование окружностей

end;

end

Пример 7 Рисование восьмиугольника в области рисования PaintBox ( PB)

var

P:array of TPoint; // массив точек

Alfa:Real; R, i:Integer;

begin

with PB.Canvas do

begin

SetLength(P,8); // задание размерности динамического массива

Alfa:=2*Pi/8; R:=PB.Height div 2; // вычисление угла и радиуса

for i:=0 to 7 do

begin // формирование массива точек ( 8 вершин многоугольника )

P[i].X:=Trunc(R*Cos(i*Alfa))+PB.Width div 2;

P[i].Y:=Trunc(R*Sin(i*Alfa))+PB.Height div 2;

end;

PB.Canvas.Polygon(P); // рисование замкнутого многоугольника

end;

end;

Пример 8 Рисование мышкой в области

procedure TForm1.PBMouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

PB.Canvas.Pen.Color:=clGreen;

// рисование при нажатой левой кнопки мыши

if ssLeft in Shift then PB.Canvas.LineTo(X,Y)

else PB.Canvas.MoveTo(X,Y);

Form1.Cursor:=crCross;// установка курсора мыши ( + ) на области рисования

end;

Пример 9 вывод текста в прямоугольнике

with PB.Canvas do

begin

Pen.Color:=clBlack;// цвет пера

Brush.Color:=clYellow;// цвет кисти

Rectangle(0, 0, PB.Width, PB.Height div 2 );// закрашенный прямоугольник

Font.Name:=’Arial’;

Font.Size:=14;

Font.Style:=[fsItalic,fsBold]; // установка стиля жирный италик

Font.Color:=clRed;

TextOut( 30,20,’Пример’); // вывод текста

end;

Соседние файлы в папке Методический материал