Растрові зображення описуються класом CBitmap. Растрове зображення можна створити у редакторі ресурсів Visual C++ або скопіювати через буфер пам’яті з будь-якого графічного редактора у редактор ресурсів.
Апаратно-залежне растрове зображення, створене за допомогою редактора ресурсів Visual C++ або скопійоване до нього, отримує свій власний ідентифікатор. Наприклад IDB_BITMAP1.
Це зображення, однак, має бути пов’язано із об’єктом класу CBitmap і завантажено у нього. Для цього можна використати функцію LoadBitmap() :
BOOL CBitmap::LoadBitmap(LPCSTR lpszBitmapName);
BOOL CBitmap::LoadBitmap(UINT idBitmap);
де lpszBitmapName – ім’я растрового зображення, а idBitmap – ідентифікатор ресурсу растрового зображення. Ця операція описується у такий спосіб:
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
Взагалі, для того, щоб вивести растрове зображення на екран необхідно:
1) отримати контекст пристрою, для того, щоб програма мала можли-вість виводити інформацію у робочу область вікна;
2) отримати сумісний з ним контекст пристрою для області пам’яті (memory device context), у якому растрове зображення буде зберігатиметься до моменту виводу на екран;
3) вибрати необхідне зображення з файла ресурсів у контекст області пам’яті;
4) скопіювати зображення з контексту області пам’яті у контекст вікна.
В результаті зображення буде виведено на екран.
Приклад програми із виведенням зображень. Спочатку у конструкторі вікна програми завантажуються ресурси двох растрових зображень. Потім ці зображення виводяться натисканням лівої та правої клавіш миші.
Текст програми із виведенням растрових зображень
--------------------------------------------------------------Текст программы--------------------------------------------------------------------------------------
На жаль така приємна на вигляд і проста з точку зору пояснення про-грама має суттєвий недолік: при переміщенні, зміненні розмірів, згортанні та розгортанні вікна зображення втрачаються. Вирішенням цієї проблеми ми і займемося у наступному розділі.