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

О Задайте нужную функцию смешивания gIBIendFuncO. О Очистите дисплей.

О Теперь для каждого значения t из совокупности 0,0,2,0,4,0,6,0,8,1,0 выполните следующее:

Задайте альфа-фактор для пиксельной карты А равным г,

Нарисуйте карту В полностью непрозрачной.

Смешайте с картой А.

Сделайте паузу, чтобы повосторгаться последним смешанным изображением.

В одном из изображений нам необходимо задать «глобальное» значение альфа; это означает, что для каждого пиксела следует установить одно и то же значение алыра. Это нетрудно сделать, если добавить метод setAlpha(float alpha) в класс RGBApixmap.

1. Напишите метод setA1pha(float alpha). Этот метод просто обходит все значения пикселов в карте и устанавливает а-компонент каждого пиксела равным доле alpha от его максимального значения (равного 255).

2. Используя в качестве прототипа пример 10.3.2, напишите программу, осуществляющую растворение изображения А в В. Устройте так, чтобы нажатие клавиши «d» (dissolve) инициировало процесс растворения А в В, а нажатие клавиши «b» (feack) - обратное растворение В в А. Выполните свою программу с несколькими парами изображений.

Тематическое задание 10.3. Заполнение области на основе серий Уровень сложности П.

Реализуйте алгоритм заполнения области из раздела «Использование связности: заполнение области на основе серий пикселов», который ищет серии пикселов и закрашивает их, для случая 4-связной гранично-определенной области. Проверьте свою программу для различных областей.

Дополнительное задание. Покажите, как адаптировать эту процедуру заполнения для 8-связных областей.

Тематическое задание 10.4. Работа со структурой данных «формы» Уровень сложности П.

В разделе «Области, описываемые прямоугольниками» была описана структура данных, представляющая область в терминах совокупности прямоугольников. В этом тематическом задании от вас


⇐ Предыдущая| |Следующая ⇒