Иллюстрированный самоучитель по C++ Builder

Битовые образы

Следующая программа демонстрирует работу с битовыми образами. После запуска программы в ее окне появляется изображение неба и двух самолетов (рис. 3.12). И небо, и самолеты – это битовые образы, загруженные из файлов во время работы программы. Загрузку и вывод битовых образов на поверхность формы выполняет функция обработки события onPaint, текст которой приведен в листинге 3.3. Белое поле вокруг левого самолета показывает истинный размер битового образа Plane. Белого поля вокруг правого самолета нет, т. к. перед тем как вывести битовый образ второй раз, свойству Transparent было присвоено значение true.

Иллюстрированный самоучитель по C++ Builder › Графика › Битовые образы
Рис. 3.12. Присвоив свойству Transparent значение true, можно скрыть фон

Листинг 3.3. Загрузка и вывод битовых образов на поверхность формы.

void __fastcall TForml::FormPaint(TObject *Sender)
{
// битовые образы: небо и самолет
Graphics::TBitmap *sky = new Graphics::TBitmap();
Graphics::TBitmap *plane = new Graphics::TBitmap();
sky › LoadFromFile("sky.bmp");
plane › LoadFromFile("plane.bmp");
Canvas › Draw(0.0,sky); // фон – небо
Canvas › Draw(20.20,plane); // левый самолет
plane-XTransparent = true;
/* теперь элементы рисунка, цвет которых совпадает
с цветом левой нижней точки битового образа,
не отображаются */
Canvas › Draw(120.20,plane); // правый самолет
// уничтожить объекты
sky › Graphics::-TBitmap();
plane › Graphics::-TBitmap();
}

Небольшие по размеру битовые образы часто используют при формировании фоновых рисунков по принципу кафельной плитки (рис. 3.13).

Иллюстрированный самоучитель по C++ Builder › Графика › Битовые образы
Рис. 3.13. Фоновый рисунок и битовый образ-плитка, из которого он составлен

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.