Доброго времени суток.
Использую в своем проекте DisplacementMapFilter для наложения на текст эффектов как WordArt в тектстовом редакторе MS Word. Кроме этих эффектов текст можно сжимать и крутить. Проблема появилась при оборотах - текст вращается а фильтр как бы остается на месте. Код для DisplacementMapFilter'ов писал не сам, все искал в гугле.
Вот пример фильтра для эффекта "текст по кругу":

Код AS3:
// BitmapData под карту
var map:BitmapData = new BitmapData (_width, _height, true),
w:Number = map.width, h:Number = map.height;
// меняем K чтобы подвинуть центр
var K:Number = _k+1, xK:Number = w/2, yK:Number = K * h;
// основные геометрические элементы
var DG:Number = Math.sqrt (yK * yK - xK * xK);
var CGD:Number = Math.acos (DG / yK);
var EG:Number = yK * (yK - h) / DG;
// цветовые множители
var af:Number = 16777216, rf:Number = 65536, gf:Number = 256, bf:Number = 1;
// это слегка попыхтит
for (var x:Number = 0; x < w; x++)
for (var y:Number = 0; y < h; y++) {
// угол и расстояние до (x, y)
var LG:Number = Math.sqrt ((x - xK) * (x - xK) + (y - yK) * (y - yK));
var NGL:Number = CGD + Math.asin ((x - xK) / LG);
// задаём исходную точку для (x,y)
var xS:Number = Math.round (w * NGL / (2 * CGD));
var yS:Number = Math.round (h * (yK - LG) / (yK - EG));
// считаем и сохраняем смещения в синем и зелёном каналах
var xSDif:Number, ysDif:Number;
if (!revert)
{
xSDif = 128 + xS - x;
ysDif = 128 + yS - y;
}
else
{
xSDif = 128 + x - xS;
ysDif = 128 + y - yS;
}
map.setPixel (x, y, bf * xSDif + gf * ysDif);
}
_filter = new DisplacementMapFilter(map,
new Point(),
BitmapDataChannel.BLUE,
BitmapDataChannel.GREEN,
0xFF,
0xFF,
DisplacementMapFilterMode.CLAMP)
Подскажите как исправить код что бы фильтр крутился вместе с текстом.
Добавлено через 47 часов 7 минут
проблема актуальна