Хелпикс

Главная

Контакты

Случайная статья





Заливка. Вывод текста



Заливка

Чтобы залить прямоугольник каким-то цветом или узором (не рисуя рамку), используют метод Canvas.FillRect. Его параметр — объект типа TRect, который можно построить с помощью функции Rect прямо при вызове метода:

Canvas.FillRect( Rect(x1, y1, x2, y2) );

Здесь x1, y1, x2 и y2 — числа или арифметические выражения. Как и в методе Rectangle, точки (x1,y1) и (x2,y2) — это противоположные углы прямоугольника.

Иногда нужно залить область со сложной границей. В этом случае применяют метод FloodFill. Например,

Canvas.FloodFill ( 50, 100, clBlack, fsBorder );

Цвет и стиль заливки определяется текущими установками кисти.

Здесь первые два параметра — координаты точки, откуда начинается заливка. Третий параметр — цвет границы или внутренней области, в зависимости от значения четвертого параметра. Если он равен fsBorder, мы заливаем все, начиная от исходной точки до границы заданного цвета (в данном примере — черного, clBlack). Черная граница должна быть сплошной, если она будет разорвана, зальется весь холст.

Возможен второй вариант, когда нужно залить область одного цвета, и эта область не имеет одноцветной границы. Так работает, например, заливка в редакторе Paint. В этом случае заливка, начинающаяся с точки (50,100), выполняется так:

Canvas.FloodFill ( 50, 100, Canvas.Pixels[50,100], fsSurface );

Обратите внимание, что для надежности мы определили цвет точки (50,100) с помощью массива Pixels

Вывод текста

Для того, чтобы вывести текст на холст, используется метод Canvas.TextOut. Например,

Canvas.TextOut ( 50, 100, 'Дом, который построил Джек' );

Первые два параметра определяют левый верхний угол текста (здесь — точка (50,100)), третий — сам текст (символьная строка).

Используемый шрифт задается в свойстве Canvas.Font, которое имеет несколько подсвойств (название шрифта, цвет, размер, стиль и др.). В этом примере текст набран шрифтом Verdana, размером 10 пт, жирным, курсивным:

with Canvas do begin Font.Name := 'Verdana'; // гарнитура Font.Color := clRed; // цвет Font.Size := 10;    // размер в пунктах Font.Style := [fsBold,fsItalic]; // стиль TextOut ( 50, 100, 'Дом, который построил Джек' );end;

Напомним, что свойство Font.Style — это множество, которое может включать элементы fsBold (жирный), fsItalic (курсив), fsUnderline (подчеркивание) и fsStrikeOut (вычеркивание) в любых комбинациях.

У объекта Canvas есть и другие методы, про которые можно прочитать в справочной системе или в Интернете. Некоторые из них мы изучим далее.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.