75 уроков по Photoshop на русском языке


Эффект размытия растрового изображения




Олег Боровик

Итак, эффект размытия растрового изображения в программе Macromedia Director может оказаться полезным для тех пользователей, которые заинтересованы в создании плавных переходов между картинками в презентациях, эффектами в играх и т.д.
Обычное решение, с созданием предварительного набора картинок на основе одной, с последующей плавной циклической заменой может оказаться не очень удобным, если Вы создаёте, к примеру, сетевую игру. Вес такого эффекта в этом случае сильно увеличит вес файла. Вероятно, Вы просто откажетесь от подобного решения.
В тоже время есть способ, позволяющий Вам добиться подобного эффекта без использования набора картинок.

При разработке подобного метода я стремился сделать его максимально нересурсоёмким, с тем, чтобы даже относительно большие изображения могли бы обрабатываться на не слишком резвых машинах. Отчасти, это условие ухудшило финальный результат, однако не настолько, чтобы считаь его неприемлемым. Тем более , что более-менее дотошная настройка его для Ваших частных случаев позволяет корректировать результат наилучшим для Вас способом.
В основе настоящего эффекта лежат всего две функции : image.setAlpha(i) и image.copyPixels. Первая устанавливает прозрачность для 32-битного изображения, вторая осуществляет его копирование в тот член труппы, который представлен на экране.
В одном из предлагаемых Вашему вниманию примеров это реализовано следующим образом :
property i
on exitFrame me
i = the mouseH / 4
member("1").image.setAlpha(i)
member("1").image.useAlpha = true

updateStage
end repeat
end
property a, b,c,d
global q, w
on exitFrame me
q = q + 5 * w
if q > 50 then w = - 1
if q <- 50 then w =1
a = 800 + q
b = 800 + q
c = 0 - q
d = 0 - q
member("4").image.copyPixels(member("1").image,rect(c, d, a, b), rect(0, 0, 800, 800))
updateStage

end if
end

Обратите вниманое, что мы не используем функцию repeat , считая, что можно обойтись более простым
q = q + 5 * w
if q > 50 then w = - 1
if q <- 50 then w =1
Это отчасти сказывается на финальном результате, однако, по моим наблюдением уменьшаем нагрузку на машину, позволяя обрабатывать более крупные изображения.




Начало  Назад  Вперед