2010-06-07 21 views
1

A l'aide de (idml) itemtransform distances horizontales/verticales et les tableaux de points de chemin, je peux trouver les coordonnées de la trame de texte (x1, y1), (x2, y2), (x3, y3), (x4, y4). Si le cadre de texte est pivoté, les valeurs de transformation d'élément sont modifiées, mais les valeurs de tableau de points de chemin sont identiques. Je peux trouver l'angle de rotation par la matrice [cos (θ) sin (θ) -sin (θ) cos (θ) 0 0], mais je n'ai pas pu obtenir les coordonnées exactes du texte pivoté. Les textframes sont donnés ci-dessous.Comment trouver les coordonnées du texte pivoté

cadre de texte normal

<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>   

pivotée TextFrame

<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>   

Quand je converti les valeurs de TextFrame pivotée pour coordonnées et tiré sur un écran alors je suis ne pas obtenir la position exacte où il a dessiné dans l'original.

Quelqu'un peut-il m'aider à trouver les coordonnées de texte pivoté.

Merci d'avance.

+0

Salut comment puis-je obtenir la hauteur TextFrame, largeur et position x, y? – Vasistan

Répondre

0

Les valeurs de la propriété ItemTransform de TextFrame (abcdef) représentent une matrice de transformation 2D de l'espace pour la transformation du système de coordonnées interne de la TextFrame retour au système de coordonnées parent selon la formule de multiplication matricielle suivante:

| Xparent | | a c e | | X | 
| Yparent | = | b d f | * | Y | 
| 1  | | 0 0 1 | | 1 | 

Où X, Y sont les coordonnées dans le système de coordonnées interne du TextFrame et Xparent et Yparent sont les coordonnées correspondantes dans le système de coordonnées parent (Spread, etc.).

Pour plus d'informations, voir 7 Coordinate Systems, Transformations and Units