Copy link to clipboard
Copied
Can anyone explain the values of the matrix returned from the ITextFrame::GetMatrix() function (wrapper for sTextFrame->GetMatrix()).
The a,b, c and d values which represent the rotation (and possibly the shear deformation) are OK,
but I can't relate the tx and ty values to the position of the text object on the artboard.
As a test I tried the following code:
AIErr
CreatePointText( short paintOrder, AIArtHandle prep,
AIRealPoint *textPoint, AIArtHandle *newText)
{
AIError error;
error = sAITextFrame->NewPointText( paintOrder, prep,
kHorizontalTextOrientation,
textPoint, newText);
TextFrameRef ateTextRef;
error = sAITextFrame->GetATETextFrame( *newText, &ateTextRef);
ATE::ITextFrame ateText( ateTextRef);
AIRealMatrix matrix = (AIRealMatrix) ateText.GetMatrix();
}
But the tx and ty values returned in matrix are now both 0. They should equal textPoint.h and textPoint.v, shouldn't they?
Copy link to clipboard
Copied
It seems that a newly created point text object will have tx and ty equal to zero.
If I duplate that object by alt-dragging it to another location, tx and ty will have location relative to the original object.
If I rotate the original object tx and ty will have non-zero values.
I need absolute coordinates...
Agnar
Copy link to clipboard
Copied
Looks like you should check out the Hard and Soft coordinates functions.
Copy link to clipboard
Copied
Tried that now. Didn't make a difference...
Agnar
Copy link to clipboard
Copied
Found a workaround. I need the coordinates of the text anhor for point text and expected that the ITextFrame::GetMatrix method would provide this in the matrix' tx and ty memebers, It doesn't! I guess it should, so it's a bug.
However, the AITextFrameSuite (not TextFrameSuite , these are two different suites) has a GetPoinTextAnchor function that gets the coordinates.
Agnar
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more