Показать сообщение отдельно
Старый 20.07.2008, 13:06
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 5  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
DiaplacementMapFilter выполняет перемещение (копирование) пикселей исходного изображения в соответствии со значениями цветовых составляющих некоей карты смещения, представляющей собой растровое изображение.

DisplacementMapFilter искажает исходное изображение по следующему алгоритму:

1. Берем пиксель (x,y) из карты смещения;
2. Считаем смещение в зависимости от цвета этого пикселя (dx,dy);
3. Смотрим, куда нужно сместить соотвествующий пиксель исходного изображения (x+dx,y+dy);
4. Рисуем пиксель в вычесленной точке, если эта точка находится в допустимых границах.

Вычисление точки, в которую нужно сместить исходный пиксель, подчиняется следующему правилу:

новый_пиксель[x] = исходный_пиксель[x]+(каналX_цвета_пикселя_карты[x,y]-128)*масштаб_X/256;

новый_пиксель[y] = исходный_пиксель[y]+(каналY_цвета_пикселя_карты[x,y]-128)*масштаб_Y/256;

Пример и описание параметров Вы сможете найдти в хелпе Флеш. Если, что непонятно, спрашивайте.
__________________
Случайность, господа, это знаете ли непознанная необходимость.