借助(idml)itemtransform水平/垂直距离和路径点数组,我可以找到文本框架的坐标(x1,y1),(x2,y2),(x3,y3),(x4, Y4)。如果旋转文本框,则项变换值将更改,但路径点数组值相同。我可以通过矩阵[cos(θ)sin(θ)-sin(θ)cos(θ)0 0找到旋转角度,但是我无法得到旋转文本框架的精确坐标。文本框架如下所示。
普通文本框
<TextFrame Self="u136" ParentStory="u124" ItemTransform="1 0 0 1 101.72727272727272 -349.41818181818184">
<Properties>
<PathGeometry>
<GeometryPathType PathOpen="false">
<PathPointArray>
<PathPointType Anchor="-101.72727272727272 -46.581818181818164" LeftDirection="-101.72727272727272 -46.581818181818164" RightDirection="-101.72727272727272 -46.581818181818164"/>
<PathPointType Anchor="-101.72727272727272 -0.3272727272727103" LeftDirection="-101.72727272727272 -0.3272727272727103" RightDirection="-101.72727272727272 -0.3272727272727103"/>
<PathPointType Anchor="115.9090909090909 -0.3272727272727103" LeftDirection="115.9090909090909 -0.3272727272727103" RightDirection="115.9090909090909 -0.3272727272727103"/>
<PathPointType Anchor="115.9090909090909 -46.581818181818164" LeftDirection="115.9090909090909 -46.581818181818164" RightDirection="115.9090909090909 -46.581818181818164"/>
</PathPointArray>
</GeometryPathType>
</PathGeometry>
</Properties>
旋转的文字框架
<TextFrame Self="u136" ParentStory="u124" ItemTransform="0 1 -1 0 320.3805483338268 -125.07900895050204">
<Properties>
<PathGeometry>
<GeometryPathType PathOpen="false">
<PathPointArray>
<PathPointType Anchor="-101.72727272727272 -46.581818181818164" LeftDirection="-101.72727272727272 -46.581818181818164" RightDirection="-101.72727272727272 -46.581818181818164"/>
<PathPointType Anchor="-101.72727272727272 -0.3272727272727103" LeftDirection="-101.72727272727272 -0.3272727272727103" RightDirection="-101.72727272727272 -0.3272727272727103"/>
<PathPointType Anchor="115.9090909090909 -0.3272727272727103" LeftDirection="115.9090909090909 -0.3272727272727103" RightDirection="115.9090909090909 -0.3272727272727103"/>
<PathPointType Anchor="115.9090909090909 -46.581818181818164" LeftDirection="115.9090909090909 -46.581818181818164" RightDirection="115.9090909090909 -46.581818181818164"/>
</PathPointArray>
</GeometryPathType>
</PathGeometry>
</Properties>
当我将旋转的文本框架的值转换为坐标并在屏幕中绘制时,我没有得到它在原始框架中绘制的确切位置。
任何人都可以帮我找出旋转文本框架的坐标。
提前致谢。
答案 0 :(得分:0)
TextFrame的ItemTransform属性(a b c d e f)中的值表示2D空间变换矩阵,用于根据以下矩阵乘法公式从TextFrame的内部坐标系转换回父坐标系:
| Xparent | | a c e | | X |
| Yparent | = | b d f | * | Y |
| 1 | | 0 0 1 | | 1 |
其中X,Y是TextFrame内部坐标系中的坐标,Xparent和Yparent是父(Spread等)坐标系中的对应坐标。