[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: 1139

26. Okt 2013, 14:07
Beitrag # 1 von 9
Bewertung:
(2382 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: 6269

26. Okt 2013, 17:26
Beitrag # 2 von 9
Beitrag ID: #518975
Bewertung:
(2353 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: 1139

26. Okt 2013, 17:44
Beitrag # 3 von 9
Beitrag ID: #518978
Bewertung:
(2343 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: 5826

26. Okt 2013, 22:46
Beitrag # 4 von 9
Beitrag ID: #518982
Bewertung:
(2295 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: 6269

27. Okt 2013, 00:29
Beitrag # 5 von 9
Beitrag ID: #518984
Bewertung:
(2275 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: 5826

27. Okt 2013, 06:40
Beitrag # 6 von 9
Beitrag ID: #518986
Bewertung:
(2229 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: 1139

27. Okt 2013, 07:46
Beitrag # 7 von 9
Beitrag ID: #518987
Bewertung:
(2216 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: 5826

27. Okt 2013, 09:25
Beitrag # 8 von 9
Beitrag ID: #518988
Bewertung:
(2171 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: 1139

27. Okt 2013, 09:31
Beitrag # 9 von 9
Beitrag ID: #518989
Bewertung:
(2165 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
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!