Можно и так, только это лучше делать не ко всей форме а именно к кликнутому элементу и близлежайшим окрестностям, во избежании артефактов. Здесь почти тоже самое, в момент клика, запомнить область в битмап несколько больше занимаемой контролом, тут надо подобрать оптимальный размер. Далее опять-же по таймеру начинаете последовательно применять фильтр к полученному битмапу и выводить его обратно откуда взяли и так до тех пор пока ваш эффект волн не затухнет. Тут надо подобрать соотношение длительности этого эффекта с комфортным откликом на нажатие, т.к. согласитесь, что если я нажимая на кнопку ожидаю получить результат, а вместо результата получаю полуминутный ролик, то впору пристрелить автора такого сервиса.
