[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt KOPFGELD:) image.transform in CC2014

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

KOPFGELD:) image.transform in CC2014

JuMayr
Beiträge gesamt: 96

27. Mär 2015, 15:11
Beitrag # 16 von 27
Beitrag ID: #538359
Bewertung:
(4170 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wird sofort getestet und berichtet:)


als Antwort auf: [#538358]
X

KOPFGELD:) image.transform in CC2014

kkauer
Beiträge gesamt: 661

27. Mär 2015, 15:21
Beitrag # 17 von 27
Beitrag ID: #538361
Bewertung:
(4161 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Beobachte den Ausschnitt des platzierten Bildes.
Wo liegt sein Mittelpunkt in CC-2014.2; wo sein Mittelpunkt in CC-v9.3.0 oder anderen Versionen davor?

Alle Beobachtungen: OSX 10.7.5 auf MacBook Pro.
Vielleicht ist's ja in Windows-Installationen anders?

Ursache hierfür sind doch aber eher die geänderten Rahmeneinpassungsoptionen und betreffen auch das manuelle Platzieren. Werden diese wieder auf links-oben gesetzt läuft das Skript doch auch unverändert durch oder ist das bei euch anders?


als Antwort auf: [#538358]
(Dieser Beitrag wurde von kkauer am 27. Mär 2015, 15:31 geändert)

KOPFGELD:) image.transform in CC2014

Uwe Laubender
Beiträge gesamt: 5316

27. Mär 2015, 15:21
Beitrag # 18 von 27
Beitrag ID: #538362
Bewertung:
(4162 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Noch etwas:
Achte darauf, dass du beim Deklarieren der Variablen immer das var vornewegstellst. Das war bei den Variablen mx und mx2 z.B. nicht der Fall, wenn ich das korrekt erinnere.


als Antwort auf: [#538359]

KOPFGELD:) image.transform in CC2014

JuMayr
Beiträge gesamt: 96

27. Mär 2015, 15:31
Beitrag # 19 von 27
Beitrag ID: #538363
Bewertung:
(4141 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Hallo, Jürgen!

Ich war etwas ungenau beim Beschreiben der Änderung für die Methode place() .

Mach doch bitte mal folgendes Experiment.

CC-v9.3.0 vs. CC-2014.2

Platziere eine Abbildung aus deinem Fundus. Irgendeine.
Wähle den Bildcontainer aus und führe folgenden Codeschnipseln in verschiedenen Versionen von InDesign aus:

Code
var myImageFile = File(app.selection[0].pageItems[0].itemLink.filePath); 

var newDoc = app.documents.add();
var newRect = newDoc.rectangles.add({geometricBounds:newDoc.pages[0].bounds});

newRect.place(myImageFile);


Beobachte den Ausschnitt des platzierten Bildes.
Wo liegt sein Mittelpunkt in CC-2014.2; wo sein Mittelpunkt in CC-v9.3.0 oder anderen Versionen davor?

Alle Beobachtungen: OSX 10.7.5 auf MacBook Pro.
Vielleicht ist's ja in Windows-Installationen anders?


Also:
In CC wird das Bild oben links auf der Seite positioniert.
In CC2014 wird es zentriert auf die Seite gesetzt.

Ich werde jetzt versuchen deine beschriebene Änderung in dem großen Script einzubauen.
Werde dann gleich berichten.


als Antwort auf: [#538358]

KOPFGELD:) image.transform in CC2014

Uwe Laubender
Beiträge gesamt: 5316

27. Mär 2015, 15:32
Beitrag # 20 von 27
Beitrag ID: #538364
Bewertung:
(4141 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guter Hinweis!
Aber:

Sowohl CC als auch CC-2014.2 haben bei mir die gleichen Default-Einstellungen:

Code
app.frameFittingOptions.fittingAlignment; 
app.documents[0].frameFittingOptions.fittingAlignment;
app.documents[0].objectStyles[0].frameFittingOptions.fittingAlignment;


Ergebnis immer: CENTER_ANCHOR.

Ich vermute mal, dass sich seit InDesign CC-2014.2 die Methode place() endlich (??!!) daran hält. In früheren Versionen war das nicht der Fall.


als Antwort auf: [#538361]

KOPFGELD:) image.transform in CC2014

kkauer
Beiträge gesamt: 661

27. Mär 2015, 15:41
Beitrag # 21 von 27
Beitrag ID: #538365
Bewertung:
(4127 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Guter Hinweis!
Aber:

Ich nehme an, dass du mich meintest, also noch einmal ausführlicher:
Die Veränderung bzgl. der Platzierung in/auf ausgewählten Rahmen betrifft nicht (nur) die Skriptumgebung, sondern greift ebenfalls beim manuellen Arbeiten. Daher habe ich wohl bereits im Zuge der Grundeinrichtung von CC(2014) diese Option im GUI zurückgestellt (Objekt > Anpassen > Rahmeneinpassungsoptionen). Mit dieser Einstellung konnte ich die beschriebenen Fehler nicht nachvollziehen.

Daraus folgt, dass je nach Workflow/Anforderungen eine simple Änderung der Grundeinstellungen ebenfalls eine gangbare Lösung für das aktuelle Problem darstellen könnte.

Korrekterweise müsste dies natürlich im Skript "geregelt" werden, aber das Skript in dieser Form enthält ohnehin einige "Baustellen".


als Antwort auf: [#538364]
(Dieser Beitrag wurde von kkauer am 27. Mär 2015, 15:48 geändert)

KOPFGELD:) image.transform in CC2014

Uwe Laubender
Beiträge gesamt: 5316

27. Mär 2015, 15:47
Beitrag # 22 von 27
Beitrag ID: #538366
Bewertung:
(4099 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok. Die Vermutung trifft zu.
Ändere ich:

Code
app.frameFittingOptions.fittingAlignment 


zu:

Code
app.frameFittingOptions.fittingAlignment = AnchorPoint.TOP_LEFT_ANCHOR; 


dann läuft Jürgens ursprüngliche Version des Skripts perfekt in InDesign CC-2014.2.


als Antwort auf: [#538364]

KOPFGELD:) image.transform in CC2014

JuMayr
Beiträge gesamt: 96

27. Mär 2015, 15:57
Beitrag # 23 von 27
Beitrag ID: #538367
Bewertung:
(4070 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Guter Hinweis!
Aber:

Sowohl CC als auch CC-2014.2 haben bei mir die gleichen Default-Einstellungen:

Code
app.frameFittingOptions.fittingAlignment; 
app.documents[0].frameFittingOptions.fittingAlignment;
app.documents[0].objectStyles[0].frameFittingOptions.fittingAlignment;


Ergebnis immer: [b]CENTER_ANCHOR.

Ich vermute mal, dass sich seit InDesign CC-2014.2 die Methode [b]place() endlich (??!!) daran hält. In früheren Versionen war das nicht der Fall.



Das war die Lösung:)
Ich habe einfach folgende Zeilen in meinen Code eingefügt und er läuft sowohl in CC als auch CC2014.

Code
app.frameFittingOptions.fittingAlignment = AnchorPoint.topLeftAnchor; 
app.documents[0].frameFittingOptions.fittingAlignment = AnchorPoint.topLeftAnchor;
app.documents[0].objectStyles[0].frameFittingOptions.fittingAlignment = AnchorPoint.topLeftAnchor;


Das Kopfgeld steht zur Auszahlung bereit.

UND MAL WIEDER DAAAAAAAAAAAANNNNNNNNNNKKKKKKKKKEEEEEEEEE ans Forum und speziell an Uwe Laubender und kkauer. Das Mastermind konzept funktioniert doch immer wieder:)


als Antwort auf: [#538364]
(Dieser Beitrag wurde von JuMayr am 27. Mär 2015, 16:05 geändert)

KOPFGELD:) image.transform in CC2014

Uwe Laubender
Beiträge gesamt: 5316

27. Mär 2015, 16:14
Beitrag # 24 von 27
Beitrag ID: #538368
Bewertung:
(4023 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Jürgen!

Meine erste Variante zur Abänderung des Codes (die Geschichte mit der move()-Methode) läuft in folgenden Varianten von InDesign: CS5.5, CS6, CC und CC-2014.2. CS5 möglicherweise auch. Habe ich aber nicht getestet.

Zurück zu deiner endgültigen Version des Skripts:

Die frameFittingOptions des Dokuments brauchst Du nicht zu ändern, falls Du das vorab mit dem Objekt app machst. Du legst ja neue, frische Dokumente an. Und die Optionen für das fittingAlignment holt sich das neue Dokument dann vom app-Objekt.

Du bekommst per PM auch meine andere Testversion des Skripts, das ohne die Anwendung von transform() auskommt, also ohne Matrix arbeitet.


als Antwort auf: [#538367]

KOPFGELD:) image.transform in CC2014

kkauer
Beiträge gesamt: 661

27. Mär 2015, 17:57
Beitrag # 25 von 27
Beitrag ID: #538369
Bewertung:
(3911 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Meine erste Variante zur Abänderung des Codes (die Geschichte mit der move()-Methode) läuft in folgenden Varianten von InDesign: CS5.5, CS6, CC und CC-2014.2. CS5 möglicherweise auch. Habe ich aber nicht getestet.

Kurze Rückfrage: Warum erwähnst du das so "prominent"? Die frameFittingOptions-Variante sollte doch auch versionsübergreifend einsetzbar sein:
In den älteren Versionen ist top-left irgendwie hartkodiert (Skriptzeile "verpufft" wirkungslos, wirft aber auch keinen Fehler) und ab Version CC 2014 (oder CC 2014.2) wird es dann steuerbar und ist damit zwingend zu definieren. Ist das so richtig?
(Ich habe i.A. nur Zugriff auf CS 6 und CC 2014.2 und kann nicht selbst durchtesten)


als Antwort auf: [#538368]
(Dieser Beitrag wurde von kkauer am 27. Mär 2015, 17:58 geändert)

KOPFGELD:) image.transform in CC2014

Uwe Laubender
Beiträge gesamt: 5316

27. Mär 2015, 20:05
Beitrag # 26 von 27
Beitrag ID: #538370
Bewertung:
(3863 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nun ja, ich erwähne das eben als Alternative.
Kann man ja auch einsetzen, um ältere Skripte in CC-2014.2 mit vergleichbaren Ergebnissen lauffähig zu halten.

Was ich leider nicht (mehr) überprüfen kann:
Ob das "neue" Verhalten in v10.0.0 bereits vorhanden war, oder erst in v10.1.0 oder v10.2.0 dazukam.

Das mit dem "Steuern müssen" ist, denke ich, richtig. Ab CC-2014.2 kann man sich nicht mehr auf die alte Regel verlassen, dass Bilder per place() immer in die obere, linke Kante des Rechteckrahmens platziert werden und von da aus den Rahmen füllen.

Das Dumme ist ja, und das habe ich – musste ich – gestern Abend ausprobieren, dass, wenn man die CC-2014.2 de-installiert, nicht mehr die CC-2014.1 oder gar die CC-2014.0 installieren kann. Jedenfalls nicht über die Creative Cloud app. Da wird einem ausschließlich die CC-2014.2 zum Installieren angeboten.

Bei der CC ist das etwas anders. Da bekommt man zunächst die CC v9.0 installiert, und dann in einem zweiten Schritt gleich die v9.3.0 als Update untergeschoben. Dazwischen gibt's nichts.

Was wäre aber, wenn jetzt die aktuellste Version einen Bug enthält, der meinen Workflow zunichte macht? Wie komme ich dann einen Punkt zurück? TimeMachine? Hm.


als Antwort auf: [#538369]

KOPFGELD:) image.transform in CC2014

kkauer
Beiträge gesamt: 661

27. Mär 2015, 20:28
Beitrag # 27 von 27
Beitrag ID: #538371
Bewertung:
(3838 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Uwe Laubender ] Nun ja, ich erwähne das eben als Alternative.
Kann man ja auch einsetzen, um ältere Skripte in CC-2014.2 mit vergleichbaren Ergebnissen lauffähig zu halten.

??? Genau darum geht es (mir) doch: Eine Lösung für alle Versionen und (idealerweise) ohne unnötigen zusätzlichen Aufwand (und ohne "Leidensgeschichten") … ;)

Ich bin jetzt mal so frech und behaupte einfach:
solche "Platzierungs"-Skripte müssen einfach nur um diese Zeile ergänzt werden
Code
app.frameFittingOptions.fittingAlignment = AnchorPoint.topLeftAnchor; 



als Antwort auf: [#538370]
(Dieser Beitrag wurde von kkauer am 27. Mär 2015, 20:33 geändert)
X