Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Brush — кисть




 

У канвы имеется свойство Brush — кисть. Это свойство определяет фон и за­полнение замкнутых фигур на канве. Brush — это объект, имеющий, в свою оче­редь ряд свойств. Свойство Color определяет цвет заполнения. Свойство Style определяет шаблон заполнения (штриховку).

Имеется еще одно свойство кисти — BitMap, определяющее нестандартное за­полнение заданным шаблоном. Шаблон задается битовой матрицей размером 8 на 8. Если для кисти задан шаблон BitMap, то заполнение производится именно этим шаблоном, независимо от значения свойства Style. Шаблон BitMap может создава­ться в процессе выполнения приложения или, например, загружаться из файла, как в приведенном ниже примере:

Bitmap: TBitmap;

begin

Bitmap:= TBitmap.Create;

try

Bitmap.LoadFromFile('MyBitmap.bmp');

Forml.Canvas.Brush.Bitmap:= Bitmap;

finally

Imagel.Canvas.Brush.Bitmap:= nil;

Bitmap.Free; end; end;

В этом примере создается объект Bitmap типа TBitmap, и в него загружается битовая матрица из файла с именем MyBitmap.bmp. Затем свойству Imagel.Can­vas.Brush.Bitmap присваивается указатель на этот объект. После этого загружен­ный шаблон можно использовать для заполнения фигур на канве Imagel. В конце кода свойству BitMap присваивается значение nil, после чего заполнение опять на­чинает определяться свойством Style. Затем объект Bitmap уничтожается, чтобы освободить занимаемую им память.

Имеются функции канвы, рисующие заполненные фигуры. Это, например, метод FillRect, объявленный как

procedure FillRect(const Rect: TRect);

Он заполняет заданным стилем или шаблоном прямоугольную область, задан­ную параметром Rect. Этот параметр имеет тип TRect. Для его задания проще всего использовать функцию Rect(Xl,Yl,X2,Y2), возвращающую структуру Rect с координатами углов, заданных параметрами (XI, Y1) и (Х2, Y2). Функцию FillRect удобно, в частности, использовать для стирания изображе­ния. Например, оператор

with Imagel do Canvas.FillRect(Rect(0,0,Width,Height));

очищает всю площадь канвы компонента Imagel.

Кисть участвует в заполнении фигур не только с помощью этой функции. Все перечисленные ранее методы рисования замкнутых фигур тоже заполняют их с по мощью кисти. Это относится к методам Chord, Ellipse, Pie, Polygon и др.

Имеется еще один интересный метод, работающий с кистью. Это метод Flood Fill, который заполняет замкнутую область на канве. Для определения области закрашивания можно использовать координаты и цвет одного из пикселей, расположенных внутри области (если FillStyle = fsSurfaсе) или снаружи ее (если FillStyle = fsBorder).

 




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


Дата добавления: 2015-03-29; Просмотров: 432; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.