
- •Теоретичні основи Основні поняття
- •Поняття графічний контекст
- •Визначення dc для об’єктів типу вікно
- •Поняття растру та основні функції роботи з ним.
- •Мал. 3. Приклад малювання ламаної фігури Окрім прямої і точки є функції для малювання готових фігур, як коло(еліпс) прямокутник(квадрат).
- •Створення інструментів.
- •Створення пера
- •Створення щитки
- •Створення об’єкта шрифт
- •Створення регіональних контурів
- •Створення об’єкту типу bitmap (полотно)
Створення об’єкту типу bitmap (полотно)
BITMAP – це бітове поле розміщене у пам‘яті, що містить / описує якесь графічне зображення (піксельне поле). Використовується для обробки зображення перед його малюванням на екрані.
Нижче перераховані функції роботи з бітовим полем.
AlphaBlend |
Здійснення альфа-міксування кольру в бітмапі |
|
BitBlt |
Малювання/копіювання бітів з одного полотна на інше. |
|
CreateBitmap |
Створення біт мапу |
|
CreateBitmapIndirect |
Створення біт мапу на основі структури BITMAP |
|
CreateCompatibleBitmap |
Ств. біт мапу на основі іншого DC |
|
CreateDIBitmap |
Ств. апаратно залежний біт мап з апаратно не залежного бітового простору ( масиву бітів) |
|
CreateDIBSection |
Ств. апаратно залежний біт мап з прямим доступом до памяті бітів малюнка. (DIB-секція) |
|
ExtFloodFill |
Зафарбовує замкнуту область малюнка певним кольором і стилем |
|
GetBitmapDimensionEx |
"Витягує" розмір малюнка |
|
|
|
|
StretchBlt |
Копіювання біт мапу з можливістю його деформування (стиснення/розтягування) |
|
TransparentBlt |
Копіювання біт мапу з властивістю прозорості |
Завдання:
Створити обробник зображень. Реалізувати наступні можливості:
Перетворення малюнка у градації сірого
Реалізувати можливість підсвітлення зображення
Перетворення малюнка у негатив
Створити обробник зображень. Реалізувати наступні можливості:
Реалізувати функцію надпису на малюнку. У місці кліку мишки здійснити надпис. Шрифт вибрати в ручну за допомогою діалогового вікна. Шрфт типу TrueType.
Реалізувати фільтр сепія
Забрати з малюка певну компоненту (червону, зелену, синю)
Розробити програму Puzle. Завантажений малюнок розбити на області та перемішати. За допомогою мишки реалізувати перетягування фреймів.
Реалізувати Програму Paint. Можливості: малювання, точки, прямої, прямокутника, еліпса, тексту. Вибір шрифту має здійснюватися діалоговим вікном. Реалізувати підтримку зовнішніх шрифтів.
Реалізувати програму "вічний двигун". Має бути намальований п‘ятикутник вершини якого рухаються в різні сторони. Відбиваючись від сторін починають рухатися в протилежну сторону. Колір зафарбування трикутника міняється в залежності позиці однієї з вершин.
Розробити забавку змійка.
Розробити програму, яка реалізує анімацію малюнка. Малюнок вибрати через діалогове вікно. Малюнок має рухатися по синусоїді з права на ліво.
Реалізувати ефект розмиття малюнка. Малюнок завантажити через діалог.
Реалізувати програму для здійснення морфінга зображення. Одне зображення плавно переходе в інше.
Реалізувати гру "Лабіринт".
Написати програму з використанням "скінів" (основне вікно, кнопки). Реалізувати анімацію, методом зсуву.
Реалізувати програму що створює прогрес-періг. Приклад,
.
Написати програму котра здійснює наступні графічні ефекти :
Дзеркальність (по горизонталі, по вертикалі)
Негатив
Градація cірого
Зміна насиченості компонента RGB
Реалізувати ефект розмиття. Прив’язати ефект до позиції мишки.
Реалізувати програму замальовування прямокутника квадратиками по контуру.