PDA

Просмотр полной версии : Изменение каналов с помощью ColorMatrixFilter


Волгоградец
19.05.2008, 11:03
Здравствуйте!
Есть вопрос по ColorMatrixFilter. Как известно, этот фильтр увеличивает (или уменьшает) значение определенного цветового канала. И изменение это одинаково для всей области применения. А как можно реализовать следующее: допустим, в нижней части изображения канал уменьшается, а в верхней увеличивается. И это изменение плавно происходит - вроде как градиентом. Кто подскажет алгоритм?

Psycho Tiger
19.05.2008, 15:11
Если мне не изменяет память (могу сейчас очень сильно соврать), но такие эффекты пока на флэше 9 и ниже (про 10 не знаю) можно реализовать только с помощью попиксельных эффектов (то есть вручную меняем каждый пиксель)

Alex_beginner
22.05.2008, 19:33
Я думаю подойдет следующий алгоритм:

Сначала вторичный мув реализуешь там градиентную заливку (черно белую) (линейную) сверху вниз (или наоборот), потом рисуешь его(клип) на БитмапДату методом Draw(). Применяешь к этой БитмапДате фильтр colorMatrixFilter и на эту БитмапДату наляпываешь исходную картинку опять же таким методом Draw() но с BlendMode="subtract" или иное;)

Волгоградец
23.05.2008, 10:25
Alex_beginner, никакой ты не beginner. Я кстати этот алгоритм и реализовал уже. Спасибо.

Alex_beginner
23.05.2008, 10:27
Спасибо! Хотелось бы быть не beginner'ом