WithForm1.canvas do

Begin

Repaint;

Pen.Width:=1;

CaseComboBox1.ItemIndex of

0:Pen.Style:=psSolid;

1:Pen.Style:=psDash;

2:Pen.Style:=psDot;

3:Pen.Style:=psDashDot;

4:Pen.Style:=psDashDotDot;

5:Pen.Style:=psClear;

6:Pen.Style:=psInsideFrame;

end;

MoveTo(0,100); LineTo(100,100);

end;

end;

 

Наша небольшая подпрограмма проводит линию из точки с координатами (0,100) в точку (100,100), стиль линии назначается в элементе управления ComboBox1. Режим прорисовки линии на холсте определяется свойством:

propertyMode: TPenMode;

typeTPenMode = (pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy, pmMergePenNot, pmMaskPenNot, pmMergeNotPen, pmMaskNotPen, pmMerge, pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor);

 

Представление цветной линии в таком случае определяется не только цветом пера, но и цветом области холста, по которой проходит линия. В Delphi предложено 16 стандартных режимов взаимодействия цветов линии и холста. В терминах функций Windows API режимы смешивания цветов линии и холста называются ROP2-кодами. ROP2-код обеспечивает поразрядную логическую операцию (сложение, вычитание и т. д.) между пикселами пера и пикселами поверхности, именуемую бинарной растровой операцией (binary raster operation).

 

Кисть – класс TBrush

Класс TBrush предназначен для

описания способа заливки областей и называется кистью. Кисть представляет собой битовый образ. При закрашивании области

образ заполняет ее границы в вертикальном и горизонтальном направлениях. Стандартные стили штриховки (рис. 10.4) собраны в свойстве Style:

 

propertyStyle : TBrushStyle;

typeTBrushStyle = (bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal,

bsBDiagonal, bsCross, bsDiagCross);

 

За цвет заливки отвечает свойство:

propertyColor: TColor;

 

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

в свойство:

 

propertyBitmap: TBitmap;

 

Приведем пример, в котором для заливки рабочей поверхности формы используется стандартный файл .bmp из каталога Windows:

varBitmap: TBitmap;

Begin

Bitmap := TBitmap.Create;

Bitmap.LoadFromFile('c:\windows\Волны.bmp');

Form1.Canvas.Brush.Bitmap := Bitmap;

Form1.Canvas.FillRect(Rect(0,0,Form1.Width,Form1.Height));

Form1.Canvas.Brush.Bitmap := nil;

Bitmap.Free;

end;








Дата добавления: 2016-03-15; просмотров: 552;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.