Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 27.04.2006 - 08:56 Titel: Datentyp data in real konvertieren / Probleme mit MacBook Pr |
|
|
Hallo zusammen,
ich habe ein script unter OSX geschrieben, das in Quark die "actualbounds" eines images (eps) kopiert und dabei die Werte in real wandelt. Funktioniert auf G4 und G5 einwandfrei (beides OSX). Wenn ich das gleiche Programm auf dem MACBook Pro laufen lasse bekomme ich eine Fehlermeldung, bei der Wandlung in real.
Im Ergebnisfeld sehe ich folgendes:
bei G4 und G5: 79,375
MacBook: <<data FXHM00E10000>>
kann ich diese Daten irgendwie in real wandeln? |
|
Nach oben |
|
 |
Wolle-77 •--->


Anmeldedatum: 25.02.2003 Beiträge: 449 Wohnort: Geldern
|
Verfasst am: 27.04.2006 - 10:22 Titel: |
|
|
Hallo roswag,
ich habe heute morgen mein Auto auf dem Parkplatz abgestellt und weiß zur Zeit nicht, ob ich wirklich auch die Beifahrertür verschlossen habe. Sonst habe ich das immer gemacht.
Wie kann ich das nun herausfinden? Und ist die Tür jetzt zu oder nicht?
Sorry, das war spaßhaft und nicht böse gemeint, aber merkst Du was? So kann Dir keiner helfen. Wie wäre es, wenn Du einfach mal das Script postest? Dann kann jemand sagen, ob er zu einem gleichen Ergebnis kommt oder nicht oder evtl. sogar die Abhilfe schreiben.
So bringt das wahrscheinlich wenig. _________________ Martin Wolter
--
Apple rocks the planet! |
|
Nach oben |
|
 |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 27.04.2006 - 13:07 Titel: hier das Script |
|
|
applescript ist für mich absolutes Neuland. Ich hatte angenommen, dass das Format <<data ...>> bekannt ist. Hier also nun das Script:
tell application "QuarkXPress Passport"
activate
if not (document 1 exists) then
make new document at beginning
end if
tell document 1
set yol to 10
set xol to 30
set breite to 30
set hoehe to 70
-- Bild laden
make new picture box at beginning with properties {bounds:{yol, xol, yol + hoehe, xol + breite}}
select picture box 1
set datname to (choose file) as alias
--eps auswŠhlen
set image 1 of picture box 1 to datname
copy actual bounds of image 1 as list to mmbounds
--der nŠchste Befehl lŠuft auf G5 und G4 fehlerfrei
set Imagebreite to item 4 of mmbounds as real
end tell
end tell
___________________
Martin |
|
Nach oben |
|
 |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 27.04.2006 - 17:39 Titel: Krücke |
|
|
ich habe den Scripteditor mit rosetta geöffnet, somit tritt das Problem aktuell nicht mehr auf, dürfte aber in Zukunft sicher ein Thema werden.
Wenn also noch jemand eine Idee hat? |
|
Nach oben |
|
 |
Wolle-77 •--->


Anmeldedatum: 25.02.2003 Beiträge: 449 Wohnort: Geldern
|
Verfasst am: 04.05.2006 - 01:41 Titel: |
|
|
Hallo roswag,
also erstmal: Ich wüßte nicht, wie man den ScriptEditor umstellt von Rosetta auf was Anderes...
Aber zu Deinem Scriptproblem. Also ich habe mal experementiert. Bei Verwendung von bounds statt actual bounds kommt nur {0, 0, 0, 0} heraus. Actual bounds ist ja laut Scriptverzeichnis auch das Richtige, funktioniert aber gar nicht.
In diversen Scripten zu XPress habe ich auch gefunden, daß die Leute stets die Bildgröße über aufwendige Hilfsroutinen herausgefunden haben.
Also bei EPS die Bounding Box auslesen (im Header der Datei) und beim Tiff ebenfalls die Daten.
Es wäre ja auch schön, wenn man das direkt XPress überlassen könnte und er es dann zurückliefern würde.
Ich nehme ja mal an, daß Du die Daten haben möchtest, um anschließend den Bilderrahmen entsürechend zu vergrößern!?
Nun, mir ist da aber eine Idee gekommen, wie es sonst noch gehen könnte. Was ist, wenn Du den aktuellen Bilderrahmen einfach auf einen glatten Wert setzt; 50 mm x 50 mm beispielsweise. Dann lädtst Du das Bild hinein und läßt es unproportional anpassen (Apfel+Shift+F).
So, jetzt hat XPress Dir ja indirekt die Werte geliefert -- denn bei einer horizontalen Skalierung von 50 % wäre das Bild folglich 100 mm breit. Und bei einer Vertikalen von 25 % wäre das Bild ja 200 mm hoch. Das Bild bräuchte also nur auf 100 % x 100 % zurückgestellt werden und der Rahmen in der Größe verändert...
Soweit meine Nachtgedanken. Bis später... _________________ Martin Wolter
--
Apple rocks the planet! |
|
Nach oben |
|
 |
RainerT •-->


Anmeldedatum: 27.12.2002 Beiträge: 25
|
Verfasst am: 04.05.2006 - 08:32 Titel: |
|
|
Hallo Scripter,
Das Problem mit dem Format <<data FXHM00E10000<< wurd schon mal vor längerer Zeit (05/2003) in einem XPress/AppleScript-Forum behandelt. (Ich hatte es kurze Zeit darauf auch)
Die Infos von Hans Haesler die es damals zu diesem Problem gab:
Zitat:
____________________________________________________
Im US-Quark-AppleScript-Forum hat sich kürzlich ein Benutzer über das “mysteriöse” Format von Resultaten gewundert. Er gab keine nähere
Auskunft, welches Mac OS und welche XPress-Version er benutzt. Aber das Beispiel, welches er in seiner Message zeigt, lässt keinen Zweifel
offen: das bekannte Mac-OS-X-Problem bei welchem QuarkXPress unter Classic läuft.
Die ‘bounds’ (also die Grenzen) einer Seite können mit dem Befehl ‘(bounds of page 1 of document 1) as list’ verlangt werden. Das Resultat
sieht unter Classic so aus: {«data FXVM00240000», «data FXHM02ED0000», «data FXVM04D40083», «data FXHM05DA0000»}. Wie kann man
diese Werte in Bruchzahlen oder lesbarere Textketten verwandeln?
Der FileMaker-Spezialist Armin Egginger hat hier schon eine ähnliche Frage gestellt. Diesmal hatte ich etwas mehr Zeit für Nachforschungen.
Hier die Ergebnisse.
Das mysteriöse Format wird als “raw code” (= roher Code) bezeichnet. Der Kürzel ‘FX’ steht für ‘fixed’ und ist ein internes XPress-Format,
welches Werte auf drei Nach-Kommastellen rundet (genau die Ziffern, welche in der Masspalette erscheinen). ‘VM’ und ‘HM’ bedeuten ‘vertical
measurement’ und ‘horizontal measurement’ (= vertikale und horizontale Masseinheit).
Die Nummern und Buchstaben sind die Werte in Punkten, aber in hexadezimaler Schreibweise. Das erste Element (= «data FXVM00240000»
enthält ‘24’. Dies bedeutet (2 x 16) + 4 = 36 Punkt (oder 12.7 mm) = der vertikale Raum oberhalb der Seite.
Im Classic-Modus funktioniert die automatische, interne XPress’sche Umrechnung nicht mehr. Deshalb muss mit dem XPress-Befehl ‘coerce to’
nachgeholfen werden:
---
tell document 1 of application “QuarkXPress 5.01”
set {y1, x1, y2, x2} to bounds of page 1 as list
set y1 to coerce y1 to real
set x1 to coerce x1 to real
set y2 to coerce y2 to real
set x2 to coerce x2 to real
end tell
{y1, x1, y2, x2}
---
Das Resultat ist nun brauchbarer, aber immer noch “komisch”: {12.70002746582, 419.903549194336, 309.700561523438, 629.903930664062}
Denn: je nachdem, was man damit anfangen will, kann das Ergebnis leicht unpräzise ausfallen (z.B. beim Setzen von vertikalen Arbeitsflächen-
Hilfslinien). Abhilfe bringt das Runden auf eine Kommastelle:
---
set y1 to (((coerce y1 to real) + 0.05) div 0.1) / 10
-->12.7
Ein anderes Beispiel. Die vertikale Position einer ausgewählten Box:
---
tell document 1 of application “QuarkXPress 5.01”
tell current box
set y1 to coerce (get top of bounds) to real
end tell
end tell
---
Zitat-Ende
____________________________________________________
Nachdem ich mein Programm mit den obigen Änderungen aktualisiert hatte funktionierte es einwandfrei.
Hoffentlich hilft dir diese Info auch ein wenig weiter. _________________ Rainer
------------------
Happy Scripting
------------------
iMac 24", 2,8 GHz Dual Core, 4 GB RAM, 10.7.4
Mac Pro G5, 2 GHz Dual, 2 GB RAM 10.5.4
PowerMac G4, 1,25 GHz Dual
System 9.2.2, 10.4.11 |
|
Nach oben |
|
 |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 04.05.2006 - 08:54 Titel: actual bounds |
|
|
also mit dem von mir aufgeführten Script, insbesondere mit dem copy-Befehl auf actual bounds, bekomme ich die korrekten Bildabmessungen - zumindest in meinem Fall (das eps wird immer aus dem Illlustrator erzeugt).
Nachdem ich den Skripteditor nun unter Rosetta laufen lasse, bekomme ich auch wieder auf dem Macbook (Intel) die korrekten Ergebnisse genannt.
Was ich im Moment nicht hin bekomme ist, die Dokumentabmessungen bzw die Seitenabmessungen im Quark zu ändern. Ich kann diese zwar über "page width" auslesen aber aus irgend einem Grund nicht setzen. Vielleicht hast du da ja einen Tipp. Der Unterschied zwischen Dokumentabmessung und Page-Abmessung ist mir übrigens auch nicht ganz klar - vielleicht liegt ja auch hier das Problem.
damit du nicht wieder nach dem Schlüssel fragst, hier einer meiner zahlreichen Versuche:
tell application "QuarkXPress Passport"
activate
if not (document 1 exists) then
make new dokument at beginning
end if
set b to bounds of page 1 of document "Projekt1" -- das funktioniert noch korrekt
set bounds of page 1 of document "Projekt1" to b
--fehlermeldung "bounds kann nicht gesetzt werden
end tell
Martin Roswag |
|
Nach oben |
|
 |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 04.05.2006 - 10:11 Titel: das Mysteriöse Format |
|
|
Hallo Rainer, super Tip.
Hast du auch noch einen Hinweis für meinen Beitrag (Änderung der Dockument-Abmessungen) der sich mit deinem offensichtlich zeitlich übeschnitten hat und nun unter deiner Antwort steht?
Martin |
|
Nach oben |
|
 |
RainerT •-->


Anmeldedatum: 27.12.2002 Beiträge: 25
|
Verfasst am: 04.05.2006 - 11:17 Titel: |
|
|
Hallo Martin
Bitte schön, gern geschehen
Hier mal ein Script (In der Hoffnung es klappt)
tell application "QuarkXPress Passport"
activate
set NeuesDoc to make new document at beginning
tell NeuesDoc
set yol to 10
set xol to 30
set breite to 30
set hoehe to 70
-- Bild laden
make new picture box at beginning with properties {bounds:{yol, xol, yol + hoehe, xol + breite}}
set datname to (choose file) as alias
set image 1 of picture box 1 to datname
set vMes to vertical measure
set hMes to horizontal measure
if vMes is not millimeters or hMes is not millimeters then
set mes to 1
set properties to {vertical measure:millimeters, horizontal measure:millimeters}
end if
tell picture box 1
tell image 1
set scale to {"100", "100%"}
set Bildgroesse to get bounds
set {y1, x1, y2, x2} to get bounds
set y1 to coerce y1 to real
set x1 to coerce x1 to real
set y2 to coerce y2 to real
set x2 to coerce x2 to real
set YWert to {item 3 of Bildgroesse} * "0,35277788018" as real
set YWert to YWert & " mm" as string
set XWert to (item 4 of Bildgroesse) * "0,35277788018"
set XWert to XWert & " mm" as string
end tell
end tell
set bounds of picture box 1 to {"0 mm", "0 mm", XWert, YWert}
try
set page width to YWert
on error
set page width to "25,4 mm"
end try
try
set page height to XWert
on error
set page height to "25,4 mm"
end try
end tell
end tell
{YWert, XWert}
Wenn das Script komplett durchgelaufen ist, bekommst du im Ergebnis die X- und Y-Werte angezeigt. _________________ Rainer
------------------
Happy Scripting
------------------
iMac 24", 2,8 GHz Dual Core, 4 GB RAM, 10.7.4
Mac Pro G5, 2 GHz Dual, 2 GB RAM 10.5.4
PowerMac G4, 1,25 GHz Dual
System 9.2.2, 10.4.11 |
|
Nach oben |
|
 |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 04.05.2006 - 12:16 Titel: geht leider noch nicht |
|
|
Hallo Rainer,
die picturebox passt leider nicht. Ist hier aber kein Problem, da ich ja die actual bounds lesen kann.
Die Seitengröße verändert sich leider auch nicht.
Die Seitengröße ist A4. Der Befehl set page height wird ohne Fehlermeldung durchlaufen. In meinem Beispiel war XWert=113,5. Trotzdem bleibt page height auf 297.
Noch eine Idee?
Gruß
Martin |
|
Nach oben |
|
 |
RainerT •-->


Anmeldedatum: 27.12.2002 Beiträge: 25
|
Verfasst am: 05.05.2006 - 06:34 Titel: |
|
|
Hallo Martin,
Ist mir noch nicht ganz klar warum es das Script nicht tut.
Welche XPress-Version hast du denn im Einsatz? _________________ Rainer
------------------
Happy Scripting
------------------
iMac 24", 2,8 GHz Dual Core, 4 GB RAM, 10.7.4
Mac Pro G5, 2 GHz Dual, 2 GB RAM 10.5.4
PowerMac G4, 1,25 GHz Dual
System 9.2.2, 10.4.11 |
|
Nach oben |
|
 |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 05.05.2006 - 12:25 Titel: Version und System |
|
|
Quark 6.0
MAC OSX 10.4.5 / 1,83 GHz Intel Core Duo
selbst wenn ich die Werte auslese und unverändert wieder schreiben will, bekomme ich die Meldung, dass die Daten nicht beschrieben werden können.
Also z.B.
tell applikation "Quarkexpress Passport"
activate
-- der naechste Befehl ist fehlerfrei.
set bb to bounds of page 1 of document "Projekt1"
-- die Daten in bb sind als Liste von 4 Strings mit mm im String angegeben
-- der naechste Befehl erzeugt die Meldung: bounds of page 1 .. kann
-- nicht als {"12,7 mm", "209,3 mm",...} gesetzt werden
set bounds of page 1 of document "Projekt1" to bb
end tell -- of application
Ich werd noch wahnsinnig.
Gruß
Martin |
|
Nach oben |
|
 |
RainerT •-->


Anmeldedatum: 27.12.2002 Beiträge: 25
|
Verfasst am: 08.05.2006 - 11:13 Titel: |
|
|
Hallo Martin,
ich hoffe du hattest ein ruhiges Wochenende ohne wahnsinnig zu werden.
Hast du das Script von mir mal ohne Änderungen von dir gestartet?
Mir ist aufgefallen das du versuchst das Seitenformat einer einzelnen Seite zu ändern.
Das Seitenformat kann aber nur für ein komplettes Dokument geändert werden. Vielleicht ist hier das Problem versteckt.
Kannst du mir Dein KOMPLETTES Script mal als private Nachricht schicken.
Werde auch keinen Blödsinn damit anstellen. _________________ Rainer
------------------
Happy Scripting
------------------
iMac 24", 2,8 GHz Dual Core, 4 GB RAM, 10.7.4
Mac Pro G5, 2 GHz Dual, 2 GB RAM 10.5.4
PowerMac G4, 1,25 GHz Dual
System 9.2.2, 10.4.11 |
|
Nach oben |
|
 |
RainerT •-->


Anmeldedatum: 27.12.2002 Beiträge: 25
|
Verfasst am: 08.05.2006 - 11:35 Titel: |
|
|
Ich bin's noch mal.
Du versuchst ja das Format einer einzelnen Seite zu ändern. Das is nicht möglich. Das Format einer Seite kann ausgelesen, aber nicht geändert werden. Es ist nur read only (r/o).
Siehe hier:
page?n [inh. base class; see also Layers Suite] : A page
elements
contains generic boxes, images, horizontal guides, vertical guides; contained by documents, spreads, layout spaces.
properties
bottom margin (vertical measurement) : height of the bottom margin of this page
bounds (measurements rectangle, r/o) : the boundary rectangle of this page
column count (small integer) : number of columns in this page
gutter width (horizontal measurement) : the width of the gutter in this page
left margin (horizontal measurement) : width of the left margin of this page
master spread (single sided blank master/double sided blank master) : the master spread applied to this page
master spread (spread) : the master spread applied to this page
name (string, r/o) : name of this page
page number (small integer, r/o) : page number of the page
quantity (small integer, r/o) : only used when creating pages
right margin (horizontal measurement) : width of the right margin of this page
top margin (vertical measurement) : height of the top margin of this page _________________ Rainer
------------------
Happy Scripting
------------------
iMac 24", 2,8 GHz Dual Core, 4 GB RAM, 10.7.4
Mac Pro G5, 2 GHz Dual, 2 GB RAM 10.5.4
PowerMac G4, 1,25 GHz Dual
System 9.2.2, 10.4.11 |
|
Nach oben |
|
 |
roswag •->

Anmeldedatum: 06.04.2006 Beiträge: 18
|
Verfasst am: 09.05.2006 - 12:29 Titel: read only |
|
|
Hallo Rainer,
ich glaube das hier das Problem liegt. Ich hatte den Eintrag r/o bereits gesehen, habe aber nicht erkannt, dass hiermit read only gemeint ist.
Ich schaue mir dein script noch mal genauer an, bin mir aber sicher, dass das auch im unveränderten Zustand die Seitengröße nicht angepaßt hat. Falls das nicht zum Ziel führt, sende ich dir gerne einer meiner wohl mehr als 100 Versuche zu. Heute komme ich leider nicht mehr dazu, aber ich denke morgen abend. Besten Dank erstmal für deinen Tip. Bis dann.
Martin |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2002 phpBB Group Deutsche Übersetzung von phpBB.de
|
|
|