Компоненты отображения графической информации План


Рисунок 4. Задав прозрачный цвет, можно скрыть фон. private



бет6/8
Дата26.09.2022
өлшемі456.68 Kb.
#461398
1   2   3   4   5   6   7   8
Lek - 17 Компоненты отображения графической информации

Рисунок 4. Задав прозрачный цвет, можно скрыть фон.



private:
// битовые образы
Bitmap^ plane; // самолет
Bitmap^ sky; // небо


// конструктор
Form1(void)
{
InitializeComponent();
//TODO: Add the constructor code here
// загрузить битовые образы из файла
try
{
sky = gcnew Bitmap(Application::StartupPath + "\\sky.bmp");
// установить размер формы равным размеру фонового рисунка
this->ClientSize = sky->Size;
plane = gcnew Bitmap(Application::StartupPath + "\\plane.bmp");
}
catch (System::Exception ^e)
{
;
}


private: System::Void Form1_Paint(System::Object^ sender,
System::Windows::Forms::PaintEventArgs^ e) {
if (sky != nullptr)
{
// вывести фоновый рисунок
e->Graphics->DrawImage(sky, 0, 0);
}


if (plane != nullptr)
{
// Левый самолет
e->Graphics->DrawImage(plane, 70, 50);


// Правый самолет; задать прозрачный цвет
plane->MakeTransparent();
e->Graphics->DrawImage(plane, 300, 80);
}
}


Анимация


Теперь рассмотрим, как можно использовать битовые образы для создания динамического (меняющегося) изображения — анимации.
Наиболее просто создать эффект меняющейся картинки можно путем вывода на экран (графическую поверхность) последовательности заранее подготовленных картинок (кадров). Кадры анимации обычно помещают в один файл (так удобнее их создавать). В начале работы программы "фильм" загружается в буфер (объект типа Bitmap).
Вывести на графическую поверхность фрагмент битового образа (загруженный битовый образ содержит все кадры, а нам нужен отдельный кадр) можно при помощи метода DrawImage.
Инструкция вызова метода DrawImage для отображения фрагмента битового образа в общем виде выглядит так:
Graphics->DrawImage(bitmap, r1, r2, GraphicsUnit::Pixel);
где:

  • Graphics — поверхность, на которую выполняется вывод фрагмента битового образа bitmap;

  • bitmap битовый образ, фрагмент которого выводится на поверхность

Graphics;

  • r1 — область на поверхности Graphics, в которую выполняется вывод фрагмента битового образа (объект Rectangle);

  • r2 — фрагмент битового образа bitmap (объект Rectangle), который выводится на поверхность Graphics.






Рисунок 5. Метод DrawImage позволяет вывести на графическую поверхность фрагмент битового образа


Работу метода DrawImage при отображении фрагмента битового образа поясняет рис. 5.
Программа Digital Clock (рис. 6) демонстрирует использование метода DrawImage для вывода на графическую поверхность фрагмента битового образа. Цифры, отображаемые в окне, — это фрагменты битового образа (рис. 7).
Форма программы Digital Clock приведена на рис. 8, конструктор формы и функции обработки событий — в листинге 3.



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет