Im Falle von Bildern braucht man fast immer den Import. Folgender Code lädt eine Datei in ein RagTime-Dokument:
set dasBild to choose file with prompt "Bitte Bild wählen"
tell application "RagTime 6.5"
     tell document 1
          make new picture at end with data dasBild
     end tell
end tell
Das Bild erscheint im Inventar und ist nirgends platziert. Die Komponente hat den Namen der Bilddatei. Folgender Code lädt ein neues Bild in eine bestehende Komponente:
set dasBild to choose file with prompt "Bitte Bild wählen"
tell application "RagTime 6.5"
     tell document 1
          change picture 1 to dasBild
     end tell
end tell
Bei der change-Anweisung kann man auch expizit angeben, ob das Bild mit der Datei verknüpft sein soll oder nicht: “...dasBild with link to file� oder “...dasBild without link to file�. Soll ein Bild mit Verknüpfung geladen werden, benutzt man zuerst make ohne data, dann change:
set Bilddatei to choose file with prompt "Bitte Bild wählen"
tell application "RagTime 6.5"
     tell document 1
          set dasBild to make new picture at end
          change dasBild to Bilddatei with link to file
     end tell
end tell
Unter den properties von Bildern befinden sich welche, die den guten RagTime-Kenner verblüffen werden: scaling, horizontal scaling und vertical scaling.
Ein Bild kann in einem Dokument mehrfach platziert sein und dabei in jedem der Container eine andere Skalierung haben. Skalierung ist genau genommen nicht die Eigenschaft eines Bildes sondern einer konkreten Installation des Bildes. Sehen wir uns zuerst an, was die Abfrage einer Skalierung liefert. In einem Dokument haben wir dafür zwei Bilder geladen. Das erste ist einmal platziert und auf 50% skaliert. Das zweite ist doppelt platziert, einmal mit 25%, einmal mit 75 % Skalierung. In das folgende Script sind die Antworten aus dem AppleEvent Log hineinkopiert:
tell application "RagTime 6.5"
     tell document 1
          get scaling factor of picture 1
          --> 0.5
          get scaling factor of picture 2
          --> {0.25, 0.75}
     end tell
end tell
Im Falle des einfach platzierten Bildes wird eine Zahl geliefert, im anderen eine Liste. Die Liste enthält alle vorkommenden Skalierungsfaktoren. Ist ein Bild mehrfach platziert aber immer mit derselben Skalierung, wird nur eine Zahl und keine Liste geliefert.
Mit set darf nur eine Zahl benutzt werden:
tell application "RagTime 6.5"
     tell document 1
          set scaling factor of picture 1 to 0.5
     end tell
end tell
Dieser Code setzt die Skalierung aller Installationen von Bild 1 auf 50%.
Wollen Sie bei mehrfach installierten Bildern mit der Skalierung einer bestimmten Installation arbeiten, führt der Weg über den contents des Containers.
Die Abfrage:
tell application "RagTime 6.5"
     tell page 1 of layout 1 of document 1
          scaling factor of contents of rectangle 2
     end tell
end tell
Die Form beim setzen:
tell application "RagTime 6.5"
     tell page 1 of layout 1 of document 1
          set scaling factor of contents of rectangle 2 to 0.3
     end tell
end tell
Dichter an der RagTime-Bedienung über Menü ist die Anweisung “align picture�. Hier einige Beispiele:
tell application "RagTime 6.5"
     tell document 1
          align picture picture 1 relative size fitting picture to frame
     end tell
end tell
passt alle Installationen eines Bildes an den Container an. Dabei erscheint ggf. die Meldung, ob die Einstellung “Original Seitenverhältnis bewahren� ausgeschaltet werden soll.
Mit der Zeile “align picture picture 1 relative size fitting picture to frame keeping proportions� kann das Seitenverhältnis bewahrt werden.
align picture kann nicht direkt für einzelne Installationen benutzt werden
tell application "RagTime 6.5" -- Problem-Beispiel!!!
     tell page 1 of layout 1 of document 1
          align picture (contents of rectangle 1) horizontally at left side
     end tell
end tell
richtet alle Installationen aus. Dies ist einer der wenigen Fälle, in denen Sie beim RagTime-Scripting notfalls über eine Auswahl arbeiten müssen:
tell application "RagTime 6.5"
     tell page 1 of layout 1 of document 1
          select contents of rectangle 1
     end tell
     align picture selection horizontally at left side
end tell
(Achtung: Weil Dokumente keine Auswahl kennen sondern nur das Programm und Fenster, muss hier das align picture außerhalb des “tell page...� stehen!)