Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1
Кент Рейсдорф. BORLAND C++BUILDER. Страница 125
Классы GDI
Классы GDI (Graphics Device Interface) обычно выполняют большую работу в GUI-приложениях Windows. Эти классы инкапсулируют использование растровых изображений, шрифтов, контекстов устройств (DC), кистей и перьев. Именно через объекты GDI происходит отображение графики и текста в окнах. Классы GDI не связаны с определенным компонентом, но многие компоненты содержат экземпляры этих классов в качестве свойств. Например, элемент управления редактированием имеет свойство Font, являющееся экземпляром класса TFont.
Термин контекст устройства (device context — DC) хорошо известен всем, кто программирует в Windows как на Си, так и с помощью библиотек Си++. Однако в VCL этот термин широко не используется. DC здесь называется холстом (canvas), а вся сложная структура DC инкапсулирована в классе TCanvas. Холст предоставляет вам поверхность, на которой можно рисовать с помощью методов типа MoveTo(), LineToQ и TextOut(). Растровые изображения выводятся на холст методами Draw() и StretchDraw(). Концепция холста, который вы разрисовываете, более наглядна, чем архаичный термин «контекст устройства», не так ли?
Класс TCanvas содержит экземпляры других классов GDI. Например, когда вы используете последовательность MoveTo()/LineTo(), линия рисуется пером текущего цвета. Текущий цвет пера определяется свойством Реп, которое представляет собой экземпляр класса ТРеп. Свойства ТРеп определяют тип линии: ее ширину, стиль (сплошная, пунктирная и т.д.) и режим рисования.
Класс TBrush представляет кисть, которая используется как образец заливки при операциях с холстом типа FillRect(), Polygon() и Ellipse(). К свойствам TBrush относятся Color, Style и Bitmap. Свойство Bitmap позволяет вам указать растровое изображение, которое будет использоваться в качестве образца заливки.