[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Textbox mit Skript rotieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Textbox mit Skript rotieren

atrachsel
Beiträge gesamt: 93

16. Mai 2011, 11:55
Beitrag # 1 von 5
Bewertung:
(1596 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen

Ich möchte gerne eine Textbox um 40° rotieren via Skript im Indesign.
Kann mir da jemand weiterhelfen.

Hans-Peter
X

Textbox mit Skript rotieren

waldviertler
Beiträge gesamt: 43

16. Mai 2011, 13:13
Beitrag # 2 von 5
Beitrag ID: #471513
Bewertung:
(1574 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

So, wenn der Rahmen ausgewählt ist:
Code
var myObjekt = app.selection[0]; 
myObjekt.rotationAngle = 40;


Grüße
Martin


als Antwort auf: [#471506]

Textbox mit Skript rotieren

Kai Rübsamen
Beiträge gesamt: 4684

16. Mai 2011, 13:29
Beitrag # 3 von 5
Beitrag ID: #471515
Bewertung:
(1568 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hans-Peter, hier lohnt es sich mit den Worten genau zu sein:

Wenn du auf 40° drehen möchtest, wäre Martins Antwort richtig (setzt genau auf 40°, ein erneutes Ausführen des Skripts bewirkt keine Änderung)

Wenn du um 40° drehen möchtest, funktioniert folgendes:

Code
var myObjekt = app.selection[0];  
myObjekt.rotationAngle += 40;



als Antwort auf: [#471513]

Textbox mit Skript rotieren

atrachsel
Beiträge gesamt: 93

16. Mai 2011, 15:18
Beitrag # 4 von 5
Beitrag ID: #471536
Bewertung:
(1533 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super besten Dank funktioniert so.


als Antwort auf: [#471513]

Textbox mit Skript rotieren

Uwe Laubender
Beiträge gesamt: 5319

16. Mai 2011, 16:28
Beitrag # 5 von 5
Beitrag ID: #471543
Bewertung:
(1514 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, atrachsel!
Bleibt aber noch die Frage nach dem Transformationspunkt der Rotation.
Der regelt sich bei myObjekt.rotate über den TransformationReferencePoint im Layout-Fenster:

Code
//Das vorderste aktive Layoutfenster: 
var myWindow = app.activeDocument.layoutWindows[0];

//Speichert die ursprüngliche Einstellung des Transformationspunktes:
var refPointOld = myWindow.transformReferencePoint;

//Bestimmt das Zentrum als Transformationspunkt (im vordersten, aktiven Layoutfenster):
myWindow.transformReferencePoint = AnchorPoint.CENTER_ANCHOR;

//Drehung im Uhrzeigersinn mit dem Minuszeichen vorangestellt:
var winkel = -40;
//Die Auswahl soll bearbeitet werden:
var myObject = app.selection[0];
myObject.rotationAngle +=winkel;

//Setzt den Transformationspunkt auf den alten Wert zurück:
myWindow.transformReferencePoint = refPointOld;


Eine alternative Methode, eine Drehung des Objekts um einen Wert vorzunehmen, geht über myObjekt.transform. Siehe Code-Beispiel weiter unten.

Auf den ersten Blick scheint das etwas umständlicher, aber wir brauchen den Referenzpunkt der Drehung nicht zurückstellen, da mit dem Referenzpunkt des Objektes selbst gearbeitet wird:

Code
var myAngle = 40; 
//Drehung im Uhrzeigersinn mit dem Minuszeichen vor dem Wert:
var myTransformationMatrix = app.transformationMatrices.add({counterclockwiseRotationAngle: -myAngle});

app.selection[0].transform(CoordinateSpaces.INNER_COORDINATES, AnchorPoint.CENTER_ANCHOR, myTransformationMatrix);


MacBook Pro 2.4GHz | OS X 10.5.8 | Adobe CS3/CS4/CS5/CS5.5 Design Premium


als Antwort auf: [#471536]
X