[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Skript das bestimmte Bilder ausfindig macht

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

Skript das bestimmte Bilder ausfindig macht

faxinger
Beiträge gesamt: 246

19. Jun 2018, 14:19
Beitrag # 1 von 8
Bewertung:
(2119 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

gibt es vielleicht schon ein Skript, das mir alle Bilder markiert (rot umrandet oder zumindest einen Alert ausgibt), die per "Kante suchen" in ID freigestellt sind?

Ich habe zwar schon ein paar Codeschnipsel, aber das ganze Skript bekomm ich nicht hin.

Danke

LG
faxinger
X

Skript das bestimmte Bilder ausfindig macht

Kai Rübsamen
Beiträge gesamt: 4684

19. Jun 2018, 14:41
Beitrag # 2 von 8
Beitrag ID: #564417
Bewertung:
(2112 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,

ich könnte aus zwei Skripten schnell was zusammenbasteln, aber wo wäre da der Lerneffekt?

Wenn du alle rot einfärben willst:
1. Eine Schleife durch alle Bilder
2. den "ClippingPathType" ermitteln
3. Falls der Typ "ClippingPathType.DETECT_EDGES" ist, dem parent eine Kontur und Farbe zuweisen

Wenn ein alert reicht:
1. Eine Schleife durch alle Seiten
2. Eine Schleife durch alle Bilder der aktuellen Seite
3. den "ClippingPathType" ermitteln
4. Falls der Typ "ClippingPathType.DETECT_EDGES" ist, den Bildnamen in eine Liste aufnehmen
5. den Wert der Liste als alert() ausgeben und die Seitenzahl dazusetzen

Dann mach dir mal Gedanken und zeige deinen entsprechenden Code.


als Antwort auf: [#564415]
(Dieser Beitrag wurde von Kai Rübsamen am 19. Jun 2018, 14:43 geändert)

Skript das bestimmte Bilder ausfindig macht

faxinger
Beiträge gesamt: 246

19. Jun 2018, 14:53
Beitrag # 3 von 8
Beitrag ID: #564418
Bewertung:
(2107 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

danke für die schnelle Antwort,

ich glaube Veriante 1 wäre besser (Kontur rot einfärben sonst muss man erst wieder die Bilder suchen. Es genügt auch alle Bilder des aktiven Dokumentes zu untersuchen. Da es sich immer nur um Doppelseiten handelt.

Was ich bis jetzt habe ist:
Code
var all_Images = app.activeDocument.allGraphics; 
var n = all_Images.length;
var currImage = all_Images[n];

for (var k = 0; k < n.length; k++) {
if (currImage.clippingPath.clippingType = ClippingPathType.DETECT_EDGES = TRUE)

do something
}


Aber ich glaube dass heir auch shon ein paar Fehler drin sind.. .-(

LG
faxinger


als Antwort auf: [#564417]

Skript das bestimmte Bilder ausfindig macht

faxinger
Beiträge gesamt: 246

19. Jun 2018, 15:21
Beitrag # 4 von 8
Beitrag ID: #564419
Bewertung:
(2091 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Die Farbe für die Konturfarbe habe ich auch schon erzeugt.
Code
var doc = app.activeDocument; 
var newcolor =doc.colors.add();
newcolor.properties = {
name:"ACHTUNG",
model:ColorModel.PROCESS,
space:ColorSpace.CMYK,
colorValue:[0,100,100,0]};



als Antwort auf: [#564418]
(Dieser Beitrag wurde von faxinger am 19. Jun 2018, 15:22 geändert)

Skript das bestimmte Bilder ausfindig macht

Kai Rübsamen
Beiträge gesamt: 4684

19. Jun 2018, 15:22
Beitrag # 5 von 8
Beitrag ID: #564420
Bewertung:
(2091 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger,

vor einem Jahr wolltest du skripten lernen. Ich wundere mich, dass das mit der for-Schleife immer noch nicht klappt, weil?

Schau dir mal diesen Ablauf an:

Code
// das aktive Dokument 
var curDoc = app.activeDocument;
// alle Grafiken im Dokument
var allImages = curDoc.allGraphics;
// die Anzahl aller Grafiken
var nImages = allImages.length;


// eine Vorwärtsschleife durch die Grafiken
for (var k = 0; k < nImages; k++) {
// die aktuell untersuchte Grafik
var curImage = allImages[k];
// prüfen, ob die aktuelle Grafik auf "Kante suchen" steht
if (curImage.clippingPath.clippingType == ClippingPathType.DETECT_EDGES) {
// falls ja, mach was …
// wählt das Bild aus
app.select(curImage);
// beendet das Skript
exit();
}
}


Das Ergebnis einer if-Anweisung ist bereits true oder false.
= Zuweisung
== Vergleich

In der Schleife musst du dann app.select() und exit() gegen die weiteren Schritte (vom Bild zum parent-Rechteck navigieren und dem Rechteck strokeColor und strokeWeight zuweisen) ersetzen.

Wie man das macht, weißt du entweder bereits, es steht im Fellenz oder lässt sich durch Studieren bereits vorhandener Skripte finden :)


als Antwort auf: [#564418]
(Dieser Beitrag wurde von Kai Rübsamen am 19. Jun 2018, 15:28 geändert)

Skript das bestimmte Bilder ausfindig macht

faxinger
Beiträge gesamt: 246

19. Jun 2018, 15:24
Beitrag # 6 von 8
Beitrag ID: #564421
Bewertung:
(2088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Kai,

damit komme ich schon weiter. Den Fellenz hab ich zuhause. Aber jetzt nicht zur Hand.

Werde es mir am Abend noch mal zu Gemüte führen.

LG
faxinger


als Antwort auf: [#564420]

Skript das bestimmte Bilder ausfindig macht

Kai Rübsamen
Beiträge gesamt: 4684

21. Jun 2018, 12:22
Beitrag # 7 von 8
Beitrag ID: #564443
Bewertung:
(1991 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Postest du noch dein fertiges Skript?


als Antwort auf: [#564421]

Skript das bestimmte Bilder ausfindig macht

faxinger
Beiträge gesamt: 246

21. Jun 2018, 13:03
Beitrag # 8 von 8
Beitrag ID: #564444
Bewertung:
(1977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bitte sehr:
Code
//DESCRIPTION: Markiert Bilder die per "Kante Suchen" freigestellt sind 
// das aktive Dokument
var curDoc = app.activeDocument;

// alle Grafiken im Dokument
var allImages = curDoc.allGraphics;
// die Anzahl aller Grafiken
var nImages = allImages.length;


// eine Vorwärtsschleife durch die Grafiken
for (var k = 0; k < nImages; k++) {
// die aktuell untersuchte Grafik
var curImage = allImages[k];
// prüfen, ob die aktuelle Grafik auf "Kante suchen" steht
if (curImage.clippingPath.clippingType == ClippingPathType.DETECT_EDGES) {
// falls ja, mach was …
// wählt das Bild aus
curImage.parent.strokeWeight = 10;
curImage.parent.strokeColor = curDoc.swatches.item(6);
// beendet das Skript
}
};



als Antwort auf: [#564443]
X