[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Bilder innerhalb eines Frames verschieben (CS6, Win7)

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

Bilder innerhalb eines Frames verschieben (CS6, Win7)

cwenet
Beiträge gesamt: 1063

26. Okt 2013, 14:07
Beitrag # 1 von 9
Bewertung:
(2265 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich würde gerne alle Bilder im Dokument innerhalb des Rahmens wieder auf Null (oben links) verschieben.

Folgender Scriptschnipsel zeigt mir für das Bild und für den Frame aber beidesmal identische Werte an:

Code
var link, image, frame; 
var doc = app.activeDocument;
var graphics = doc.allGraphics;

for (var i = 0; i < graphics.length; i++) {
link = graphics[i].itemLink;
image = link.parent;
frame = image.parent;
alert( image.geometricBounds + '\r'+ frame.geometricBounds);

}


Wenn ich aber mit dem Direktauswahlwerkzeug das Bild markiere, habe ich x=y=0, egal an welcher Stelle auf
der Seite das Bild steht.

Wie bekomme ich Bilder, die innerhalb eines Rahmens verschoben wurden, wieder auf Null?

Bitte um Hilfe
Gruss
Christoph
X

Bilder innerhalb eines Frames verschieben (CS6, Win7)

Gerald Singelmann
  
Beiträge gesamt: 6259

26. Okt 2013, 17:26
Beitrag # 2 von 9
Beitrag ID: #518975
Bewertung:
(2236 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Wenn ich aber mit dem Direktauswahlwerkzeug das Bild markiere, habe ich x=y=0, egal an welcher Stelle auf der Seite das Bild steht.

Wie bekomme ich Bilder, die innerhalb eines Rahmens verschoben wurden, wieder auf Null?


Mit anderen Worten: Die Bilder stehen bereits alle auf 0 und wie bekomme ich sie jetzt auf 0?

Ich glaub, ich verstehe die Frage nicht.


als Antwort auf: [#518973]
Anhang:
Bildschirmfoto 2013-10-26 um 17.25.08.png (67.0 KB)

Bilder innerhalb eines Frames verschieben (CS6, Win7)

cwenet
Beiträge gesamt: 1063

26. Okt 2013, 17:44
Beitrag # 3 von 9
Beitrag ID: #518978
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Gerald Singelmann,

ja es geht um den Inhaltsversatz.
Ich habe zur Verdeutlichung noch zwei Doks angehängt.

Gruss
Christoph


als Antwort auf: [#518975]
Anhang:
Bilder_verschieben_vorher.idml (27.6 KB)   Bilder_verschieben_nachher.idml (27.5 KB)

Bilder innerhalb eines Frames verschieben (CS6, Win7)

Hans Haesler
  
Beiträge gesamt: 5816

26. Okt 2013, 22:46
Beitrag # 4 von 9
Beitrag ID: #518982
Bewertung:
(2178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

so sollte es klappen:

Code
var doc = app.activeDocument; 
var graphics = doc.allGraphics;

for (var g=0; g<graphics.length; g++) {
var curImage = graphics[g];
var curFrame = curImage.parent;
var igB = curImage.geometricBounds;
var fgB = curFrame.geometricBounds;
curImage.move(undefined, [fgB[1]-igB[1], fgB[0]-igB[0]]);
}

Vorausgesetzt, dass alle Drehwinkel (Rahmen und Bilder) null Prozent betragen.
Und dass kein Rahmen gesperrt ist.

Gruss, Hans


als Antwort auf: [#518978]

Bilder innerhalb eines Frames verschieben (CS6, Win7)

Gerald Singelmann
  
Beiträge gesamt: 6259

27. Okt 2013, 00:29
Beitrag # 5 von 9
Beitrag ID: #518984
Bewertung:
(2158 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Müste nicht auch
Code
curImage.move([fgB[1], fgB[0]]); 

gehen?


als Antwort auf: [#518982]

Bilder innerhalb eines Frames verschieben (CS6, Win7)

Hans Haesler
  
Beiträge gesamt: 5816

27. Okt 2013, 06:40
Beitrag # 6 von 9
Beitrag ID: #518986
Bewertung:
(2112 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

doch, das geht auch. :-)

Erklärung für Christoph: Das aktuelle Bild wird nicht um die Differenz verschoben, sondern an die Position des Bildrahmens.

Der Vollständigkeit halber der zusammengeschmolzene Code:

Code
var doc = app.activeDocument; 
var graphics = doc.allGraphics;

for (var g=0; g<graphics.length; g++) {
var gB = graphics[g].parent.geometricBounds;
graphics[g].move([gB[1], gB[0]]);
}

Gruss, Hans


als Antwort auf: [#518984]

Bilder innerhalb eines Frames verschieben (CS6, Win7)

cwenet
Beiträge gesamt: 1063

27. Okt 2013, 07:46
Beitrag # 7 von 9
Beitrag ID: #518987
Bewertung:
(2099 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Merci viel mal,

an Gerald und Hans.
Klappt prima.
Danke auch für die Erklärung, Hans.

Schönen Tag wünscht
Christoph


als Antwort auf: [#518986]

Bilder innerhalb eines Frames verschieben (CS6, Win7)

Hans Haesler
  
Beiträge gesamt: 5816

27. Okt 2013, 09:25
Beitrag # 8 von 9
Beitrag ID: #518988
Bewertung:
(2054 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

bitte sehr. Die Erklärung hätte detaillierter sein können ...

Zitat void move ([to: varies][, by: Array of Measurement Unit (Number or String)])
Moves the PageItem to a new location. Note: Either the 'to' or 'by' parameter is required; if both parameters are defined, only the to value is used.

to The new location of the PageItem, in the format (x, y). Can accept: Array of 2 Units, Spread, Page or Layer. (Optional)
by The amount (in measurement units) to move the PageItem relative to its current position, in the format (x, y). (Optional)

Das Objekt wird an die neue Position verschoben. 'void' bedeutet, dass die Aktion kein Ergebnis zurückgibt.

Für to (= an diese Position) kann ein Array mit zwei Masseinheit-Elementen (Zahlen oder String) eingefügt werden. Oder ein Druckbogen oder eine Seite oder eine Ebene.
Für by (= um diese Werte, von der aktuellen Position ausgehend) gilt: ein Array mit zwei Masseinheit-Elementen (Zahlen oder String).

Einer der beiden Parameter muss definiert sein. Wenn man by verwenden will, muss to als undefined gesetzt werden:

Code
curItem.move(undefined, [x, y]); 

Zu beachten: Der horizontale Wert kommt zuerst.

Gruss, Hans


als Antwort auf: [#518987]

Bilder innerhalb eines Frames verschieben (CS6, Win7)

cwenet
Beiträge gesamt: 1063

27. Okt 2013, 09:31
Beitrag # 9 von 9
Beitrag ID: #518989
Bewertung:
(2048 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Hans,

vielen lieben Dank. Das speichere ich mir gleich zum Script dazu.

Schönen Sonntag
Christoph


als Antwort auf: [#518988]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022