Forenindex » Programmierung/Entwicklung » AppleScript » Bildattribute einstellen (X/Y- Koordinaten und %-Wert)

Bildattribute einstellen (X/Y- Koordinaten und %-Wert)

Anonym
Beiträge gesamt: 22827

14. Jul 2005, 15:57
Bewertung:

gelesen: 896

Beitrag als Lesezeichen
Hallo,
ich suche/brauche ein Sript, das mir sämtliche geladenen Bilder in Quark Xpress 6.5, Mac OS 10.3.9 auf die Koordinaten X=0 und Y=0 stellt und mit 100% platziert. Die Koordinaten beziehen sich auf das Bild im jehweiligen Rahmen! Nicht dass nachher alle Bildrahmen auf 0/0 stehen! :-)

denkt ihr, dass so was möglich ist? ich wäre sehr froh darüber, da ich es ziemlich dringend brauche!

mfg
walter

Bildattribute einstellen (X/Y- Koordinaten und %-Wert)

Hans Haesler
  
Beiträge gesamt: 5826

14. Jul 2005, 15:59
Bewertung:

gelesen: 895

Beitrag als Lesezeichen
Hallo Walter,

herzlich willkommen im dtpro-Forum! :-)

Die Aufgabe, die Du stellst, ist ziemlich einfach zu scripten. Man kann sie in einen
einzigen Befehl packen:
---
tell document 1 of application "QuarkXPress 6.5"
   try
      tell every picture box
         set properties of image 1 to {offset:{0, 0}, scale:{100, 100}}
      end tell
   end try
end tell

---
Man sollte aber auch etwas Fehlerbehandlung einbauen. Ist ein Projekt geöffnet usw.
Ich werde das obenstehende Script-Snippet heute Abend ergänzen und es Dir schicken,
falls Du mir ein Mail sendest (damit ich eine Adresse habe).

Gruss, Hans

Bildattribute einstellen (X/Y- Koordinaten und %-Wert)

Anonym
Beiträge gesamt: 22827

15. Jul 2005, 10:37
Bewertung:

gelesen: 895

Beitrag als Lesezeichen
hej hans, vielen dank für das script!

es funktioniert wunderbar! auch schon die ersten zeilen haben klasse funktioniert, eigentlich hätte es so schon gereicht, aber besser ists natürlich wenns "gescheit" gemacht ist!

apple script ist wirklich effektiv und einfach, vorallem mit begriffen die auch ein Laie versteht! :_)


Was die "nonplusulta" lösung für mein problem wäre, wenn vorher noch abgefragt würde, von wo sich das Bild befindet, und dann nur Bilder geändert würden, die von einem bestimmten Volume kommen.

Wir machen eine Zeitschrift, mit Anzeigen als eps-Dateien, und "normalen" Bildern. Die Anzeigen werden automatisch platziert, allerdings an den vorhandenen Rahmen angepasst – das ist nicht gut. Alle Anzeigen werden von dem Volume "R" bezogen, auf dem sich sonst keine Bilder befinden. Daher könnte man durch eine "Pfad-Abfrage" die "Bild-Arten" von einander unterscheiden.

denkst du dass soetwas umsetzbar ist?

mfg
simon alias walter

Bildattribute einstellen (X/Y- Koordinaten und %-Wert)

Hans Haesler
  
Beiträge gesamt: 5826

15. Jul 2005, 11:54
Bewertung:

gelesen: 895

Beitrag als Lesezeichen
Hallo Simon,

ja, das sollte umzusetzen sein. Aber: Das Script könnte nicht mehr mit 'every picture box' die betreffenden
Bilder auf einen Schlag "erledigen", sondern müsste mit einer Repeatschleife bei allen Bildern den Pfad
erfragen und wenn er ":R:" enthält, die Attribute ändern.

Hier ein Ausschnitt des geänderten Scripts:
---
script setPictures
   global sourceFolder
   set ctr to 0
   tell application "QuarkXPress 6.5"
      tell docRef
         repeat with i from 1 to count of picture boxes
            tell picture box i
               tell image 1
                  if (file path as string) contains ":" & sourceFolder & ":" then
                     set properties to {offset:{0, 0}, scale:{100, 100}}
                     set ctr to ctr + 1
                  end if
               end tell
            end tell
         end repeat
      end tell
   end tell
   return {ctr}
end script

---
Die Variable 'sourceFolder' ist eingangs des Scripts als 'property' definiert. Hier – innerhalb des Script-
Objekts – muss sie nochmals als 'global' definiert werden, sonst klappt es nicht. Beim ersten Start des Scripts
kommt ein Dialog mit einem leeren Eingabefeld. Die Antwort des Anwenders wird (dank 'property') gespeichert
und beim nächsten Start muss man den Namen des Ordners nur bestätigen.

Die Variable 'docRef' ist eine Referenz zum sichtbaren Fenster (Layout oder Musterseite). In der Wiederholungs-
schleife wird bei jedem Bild der Pfad geprüft. Wenn er '":" & sourceFolder & ":"' enthält, dann werden die
Attribute zurückgesetzt und der Wert der Zählervariable 'ctr' um eins erhöht.

Am Schluss (hier nicht sichtbar) meldet ein Dialog, dass die Aktion beendet ist und zeigt die Anzahl geänderter
Bilder.

Diese zweite Version des Scripts ist unterwegs zu Dir.

Gruss, Hans