[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Kann man eine Beschneidungsmaske per Script erstellen?

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

Kann man eine Beschneidungsmaske per Script erstellen?

mdomino
Beiträge gesamt: 76

10. Dez 2014, 22:32
Beitrag # 1 von 4
Bewertung:
(1152 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen!

Ich schreibe gerade ein etwas ausführlicheres Script, bei dem ich eine Beschneidungsmaske erstellen muss. Und da stehe ich gerade auf dem Schlauch wie das im InDesign-Objektmodell geht. In der normalen Benutzeroberfläche geht das ja per "In die Auswahl einfügen".

Ich habe dazu in den Adobe Foren vom User laubender folgendes Script gefunden:

Code
var myDoc = app.documents.add();   

var myRectangle = myDoc.rectangles.add({geometricBounds:myDoc.pages[0].bounds});
myRectangle.ovals.add({geometricBounds:[0,0,50,50],fillColor:"Yellow"});
myRectangle.rectangles.add({geometricBounds:[0,0,25,25],fillColor:"Magenta"});

//Should open the Layers Panel.
//If it will throw an error, the panel will not open:
try{
app.panels.itemByName("$ID/#ImageLayersPanel").visible = true;
}catch(e){};

alert("Done.");


Das schafft es neue Objekte innerhalb anderer Objekte zu kreieren und dann von diesen beschnitten zu werden. Mir ist aber momentan schleierhaft, wie ich das ohne den "add"-Befehl anstellen kann, also für Objekte (Bilder oder Formen), die schon im Dokument vorhanden sind. Statt "add" bräuchte ich also eine Art "move", was auch in der Lage wäre Objekte innerhalb einer Ebene in ein Objekt zu verschieben.

Momentan habe ich folgende Lösung, indem ich einfach den "Paste Into"-Befehl per Script anspreche:

Code
app.select(itemToMove); 
app.copy();

var mask = activeSpread.rectangles.add(undefined,
LocationOptions.AFTER, itemToMove,{geometricBounds: [0,0,50,50]});

app.select(mask);
app.pasteInto();


Diese Lösung funktioniert zwar, ich finde sie aber unschön, Gregor beispielsweise Fellenz rät in seinem Buch vom Verwenden der Copy-und-Paste-Befehle ab, aus Performance- und Zuverlässigkeitsgünden, weshalb ich versuche eine Lösung zu finden, ohne Copy-Paste.

Hat jemand einen Hinweis für mich, wie sich das bewerkstelligen lassen könnte?

Danke und Grüße,
md
X

Kann man eine Beschneidungsmaske per Script erstellen?

mdomino
Beiträge gesamt: 76

10. Dez 2014, 23:11
Beitrag # 2 von 4
Beitrag ID: #534937
Bewertung:
(1135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie kann ich denn hier einen Beitrag editieren?

Da soll natürlich nicht "Gregor beispielsweise Fellenz" stehen, sondern "Gregor Fellenz beispielsweise". ;-)


als Antwort auf: [#534936]

Kann man eine Beschneidungsmaske per Script erstellen?

Martin Fischer
  
Beiträge gesamt: 12395

11. Dez 2014, 08:13
Beitrag # 3 von 4
Beitrag ID: #534943
Bewertung:
(1071 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo mdomino,

verwende dazu den Befehl contentPlace()

Beispiel:
Code
var doc = app.documents.firstItem(); 

// gegeben ein Bild(rahmen), addressiert über dessen ID
var img_rect = doc.pageItems.itemByID( doc.pageItems.firstItem().id );

// füge ein Objekt hinzu, das als Beschnittrahmen dienen soll
var a_oval = doc.pages.firstItem().ovals.add({geometricBounds: [10,10,30,30]});

// platziere das Bild in den Beschnittrahmen
var a_rect = a_oval.contentPlace( img_rect );


Viele Grüße
Martin




als Antwort auf: [#534936]

Kann man eine Beschneidungsmaske per Script erstellen?

mdomino
Beiträge gesamt: 76

11. Dez 2014, 16:44
Beitrag # 4 von 4
Beitrag ID: #534997
Bewertung:
(1020 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank, deine Lösung funktioniert einwandfrei.

Viele Grüße,
md


als Antwort auf: [#534943]
X

Aktuell

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
25.01.2021 - 26.01.2021

Digicomp Academy AG, Bern oder Zürich
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

In diesem Basic-Kurs lernen Sie das Wichtigste über den Aufbau und die Funktionsweise von Photoshop. Zusammen mit den notwendigen Grundlagen von Farbenlehre bis Bildauflösung lernen Sie zudem die kreativen Möglichkeiten von Photoshop kennen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/PHOTM1

Veranstaltungen
25.01.2021 - 26.01.2021

Digicomp Academy AG, Zürich oder virtuell
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

Im Kurs lernen Sie die Schritte vom Import des Rohmaterials bis zum fertig exportierten Clip kennen. Dazu zählen die Materialverwaltung, das Trimmen für Roh- und Feinschnitt, Blenden, Titel und Effekte und eine Übersicht über die wichtigsten Formate.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/AP6

Neuste Foreneinträge


PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Inhalt Textrahmen verbinden

iPhone Farbprofil

Exel ohne leeres Tabellenblatt starten

Text- oder Grafikrahmen nach Position und Größe suchen und ändern

Illustrator Skript Übersatztext - Hilfe benötigt

[GREP] beliebige Zeichen finden und durch selbe Anzahl an Leerzeichen oder Anzahl Zeichen "x" ersetzen

InDesign 2021 – Suchen/Ersetzen: Farbe

Langsamer MacMini

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken
medienjobs