Koordinaten von Zeichnungsobjekten

Beschreibung:

Alle Koordinatenangaben sind in Punkt (1/72 Zoll) gemessen von der oberen linken Ecke. Vertikale Koordinaten werden nach unten größer, horizontale nach rechts.

Beim Anlegen eines Rechtecks ist es naheliegend, die Koordinaten gleich als dessen Daten zu übergeben:

tell application "RagTime 6.5"
     tell layout 1 of document 1
          make new rectangle at beginning of page 1 with data {100, 100, 300, 200}
     end tell
end tell

Die Reihenfolge der Koordinaten ist: {X links, Y oben, X rechts, Y unten}

Bei den Koordinaten ist im AppleScript-Verzeichnis der Unterschied zwischen definition rect und bounds wichtig (sowie auf den ersten Blick vielleicht etwas unklar):

In RagTime können Zeichnungsobjekte transformiert werden: gedreht, skaliert, geschert.
Das definition rect gibt die Koordinaten an, die vor dieser Transformation galten. (Wenn Sie in der Palette Objektkoordinaten auf “Standard� klicken, bekommt das Objekt wieder die Grenzen des definition rect.) bounds hingegen gibt die Koordinaten an, mit denen das transformierte Objekt auf der Seite / der Zeichnung sichtbar ist. (Dies entspricht im User Interface von RagTime in der Palette "Objektkoordinaten" der Teilung in die Koordinaten, die oben in der Gruppe unter "Name" stehen, und die Koordinaten, die in der nächsten Gruppe für die Ränder stehen. Drehen Sie in RagTime ein Rechteck auf z.B. 45°, um den Unterschied zu sehen.)

Analog: left und left position. die zweite Form gibt den Wert des transformierten Objekts.

Beispiel (die Antworten von RagTime sind mit “-->� eingetragen. Sie wurden aus dem AppleEvent Log des Script Editors kopiert.):

tell application "RagTime 6.5"
     tell page 1 of layout 1 of document 1
          make new rectangle at beginning with data {200, 250, 300, 400}
               tell rectangle 1
               set vertical scaling factor to 2.5
               set horizontal scaling factor to 2.5
               get definition rect
               --> {200.0, 250.0, 300.0, 400.0}
               get bounds
               --> {125.0, 137.5, 375.0, 512.5}
               get left
               --> 200.0
               get left position
               --> 125.0
          end tell
     end tell
end tell

Die Koordinaten von bounds umfassen einen größeren Bereich und left position liegt weiter links, weil die Skalierung von 250% berücksichtigt wird.