Энциклопедия C++ Builder


ГРАФИЧЕСКИЕ КОМПОНЕНТЫ - часть 7


7.4 Внеэкранные битовые образы

Общепринятая методика программирования сложных графических приложении для

Windows заключается в создании внеэкранного битового образа, рисовании или заполнении его конкретным изображением и, наконец, копировании всего изображения из битового образа на указанное место экранного окна. Благодаря этому уменьшается заметное глазу мерцание экрана монитора, вызванное повторным рисованием непосредственно в экранном окне.

C++Builder позволяет создавать объекты класса TBitmap в вашем приложении для представления изображении файлов и других ресурсов, которые также способны работать как внеэкранные изображения.

7.4.1 Копирование битовых образов.

C++Builder предусматривает четыре способа копирования изображении с одной канвы на другую. Выбирайте нужный метод копирования из следующей таблицы, в зависимости от результата, который необходимо получить.

Требуемый результат Метод
Полное копирование графики Draw
Копирование с масштабированием StretchDraw
Копирование прямоугольного участка канвы CopyRect
Копирование с растровыми операциями BrushCopy

 

 

7.4.2 Создание и обслуживание

При создании сложных графических изображений следует избегать их непосредственного рисования на канве формы или компоненты, представленной в экранном окне вашего приложения. Вместо этого вы сможете сконструировать некий объект битового образа и рисовать на его канве, а затем скопировать изображение на канву экрана. При рисовании на канве внеэкранного битового образа наиболее часто используется метод

Paint графических компонент.

Пример рисования сложного изображения на внеэкранном битовом образе дает Индикатор (Gauge),

представленный на вкладке Samples Палитры компонент. Исходные файлы Gauges.cpp

и Gauges.h

программного модуля компоненты TGauge можно найти в каталоге: \.. .\CBuilder\Examples\Controls\Source.

Фрагмент файла Gauges.cpp (Листинг 7.3) показывает основные операции, выполняемые компонентным методом Paint

рисования на канве внеэкранного битового образа TBitmap. Сначала функция PaintBackground закрашивает прямоугольную фоновую область индикатора цветом, выбранным в свойстве Color. Затем в соответствии с заданным значением свойства Kind контур нужной формы обводится цветом свойства




Начало  Назад  Вперед



Книжный магазин