Если вы имеете в виду, что было вверху справа до поворота:
// The field's original top right corner:
var localPoint:Point = new Point( txt.width, 0 );
var globalPosition:Point = txt.localToGlobal( localPoint );
Если вы имеете в виду, после поворота поля:
// The top right after being turned -45°
var localPoint:Point = new Point( txt.width, txt.height );
var globalPosition:Point = txt.localToGlobal( localPoint );
РЕДАКТИРОВАТЬ:
Хорошо, после просмотра вашего теста я экспериментировал с кучей вещей, и я думаю, что нашел что-то, что будет работать:
var angle:Number = -45
var txt:TextField = new TextField();
txt.autoSize = TextFieldAutoSize.LEFT;
txt.defaultTextFormat = new TextFormat("Arial", 20, 0x0000ff);
txt.text = "Here is some text";
txt.border = true;
txt.x = 100;
txt.y = 250;
stage.addChild(txt);
var local3d:Vector3D = new Vector3D( txt.width, txt.height );
var circle:Shape = new Shape();
circle.graphics.beginFill(0x00ff00);
circle.graphics.drawCircle(-5, -5, 10);
circle.graphics.endFill();
stage.addChild(circle);
var mtx:Matrix = txt.transform.matrix.clone();
mtx.rotate( -45 / 180 * Math.PI );
txt.transform.matrix = mtx;
var globalPosition:Point = txt.local3DToGlobal( local3d );
circle.x = globalPosition.x;
circle.y = globalPosition.y;
Если я запусту это, я получу TextField, повернутый на -45 градусов с зеленыммяч застрял в правом нижнем углу.Я не знаю ваш класс MatrixTransformer, но он должен работать с любой матрицей.
Попробуйте скопировать и вставить этот код и возиться с ним, пока не получите желаемый результат.