#1
|
|||
|
|||
Ebenenstapel per Aktion oder Skript sortieren
Liebe Photoshop-Experten,
ich habe eine Frage - vorab: es geht um mehrere 10000 Bilder, deshalb wäre mir eine Automatisierung per Aktion oder Skript sehr gelegen. Meine Bilder haben drei Ebenen: Hintergrund, Einstellungsebene 1 (Tonwert), Einstellungsebene 2 (Farbton/Sättigung). Ich möchte, dass bei allen diesen Bildern die Einstellungsebene 2 ganz oben liegt, was derzeit zwar bei den allermeisten Bildern der Fall ist, aber nicht bei allen. Ich möchte das vor allem deshalb, damit ich diese Ebene ggf. später einmal löschen kann per Aktion (Löschen der obersten Ebene im Stapel). Oder gibt es die Möglichkeit, im Ebenenstapel gezielt die Einstellungsebene "Farbton/Sätttigung" zu finden und auszublenden und das bitte automatisiert? Ich hoffe, ich konnte verständlich machen, was das Problem ist bzw. was mir vorschwebt. Vielen Dank schon mal und beste Grüße Dirk |
#2
|
||||
|
||||
Die einzige Idee, die ich dazu habe wäre, wenn die Einstellungsebene in den Bildern immer gleich heißt, dann müsse man die per Skript immer finden können, wo sie sich auch befindet und müsste sie dann nach oben verschieben können.
Ich skripte allerdings fast nie in Photoshop, weswegen ich das nicht umsetzen kann. Heißt sie denn immer gleich? LG und willkommen im PSC Heike |
#3
|
|||
|
|||
Ja, immer gleich.
Das dachte ich mir nämlich auch, dass das dann gescriptet werden könnte. Allerdings weiß ich dann auch nicht, wie konkret die Syntax ist, um den Ebenenstapel so zu sortieren, dass besagte Ebene immer oben liegt. Alternativ wäre es auch eine Option, die immer gleich heißende Ebene über ein Skript aufzufinden und auszublenden. Eigentlich noch eleganter. |
#4
|
||||
|
||||
da hast Du recht
Das könnte gegebenenfalls auch eine Aktion erledigen... |
#5
|
|||
|
|||
Dieses skript sollte machen, was Du möchtest:
for (var i = activeDocument.artLayers.length-1; i>=0; i--) { activeDocument.activeLayer = activeDocument.artLayers[i]; if (activeDocument.activeLayer.name == "Farbton/Sättigung 1") { activeDocument.activeLayer.visible = false; } } activeDocument.close(SaveOptions.SAVECHANGES); |
#6
|
|||
|
|||
Zitat:
Das probiere ich gerne aus. |
#7
|
||||
|
||||
Hi outrage,
kleine Frage, weil ich was lernen will. Bedeutet die 1 in dieser Zeile, dass der ersten Farbton/Sättigung Layer, den das Skript findet ausgeblendet wird? Code:
if (activeDocument.activeLayer.name == "Farbton/Sättigung 1") Heike |
#8
|
|||
|
|||
Nein.
Das bedeutet, dass die Ebene, die exakt den Namen "Farbton/Sättigung 1" trägt, ausgeblendet wird. Ich habe das skript noch mal umgeschrieben. Damit wird die Farbton/Sättigungsebene ausgeblendet, egal wie sie heisst. Sind mehrere vorhanden, werden alle ausgeblendet: Code:
for (var i = activeDocument.artLayers.length-1; i>=0; i--) { activeDocument.activeLayer = activeDocument.artLayers[i]; if (activeDocument.activeLayer.kind == LayerKind.HUESATURATION) { activeDocument.activeLayer.visible = false; } } activeDocument.close(SaveOptions.SAVECHANGES); Geändert von heikehk (25.01.23 um 14:26 Uhr). |
#9
|
||||
|
||||
Hi outrage,
cool Code:
var count = 0 for (var i = activeDocument.artLayers.length-1; i>=0; i--) { activeDocument.activeLayer = activeDocument.artLayers[i]; if (activeDocument.activeLayer.kind == LayerKind.HUESATURATION) { count = count + 1 if (count == 2) { activeDocument.activeLayer.visible = false; } } } activeDocument.close(SaveOptions.SAVECHANGES); Macht Spaß |
#10
|
|||
|
|||
Ja, bei mir funktioniert es so - die zweite Farbton/Sättigung-Ebene von unten wird ausgeblendet. Ich habe die for-Schleife noch mal umgeschrieben, falls Du die zweite Farbton/Sättigung-Ebene von oben ausblenden willst (und statt count = count + 1 kannst Du auch count++ schreiben):
Code:
var count = 0 for (var i = 0; i < activeDocument.artLayers.length-1; i++) { activeDocument.activeLayer = activeDocument.artLayers[i]; if (activeDocument.activeLayer.kind == LayerKind.HUESATURATION) { count++ if (count == 2) { activeDocument.activeLayer.visible = false; } } } activeDocument.close(SaveOptions.SAVECHANGES); Geändert von outrage (26.01.23 um 15:39 Uhr). |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Skript mit batch und automatisch repositionieren | millinho | Hilfestellung, Tipps und Tricks | 1 | 31.01.17 17:14 |
[Skripte] Kalender Skript | stefu | Linktipps zu externen Ressourcen | 8 | 09.12.14 17:23 |
Skript: Automatisches Skalieren und Zuschneiden | maxl1989 | Hilfestellung, Tipps und Tricks | 9 | 06.05.13 01:09 |