PDA

Vollständige Version anzeigen : Photoshop Startrail Aktion erstellen


Askella
27.07.14, 15:36
Hallo Leute!

Ich bin frisch in die Welt von PS eingestiegen und bin "etwas" überfordert ...
zuviele Funktionen und Fähigkeiten bietet dieses Programm ^^

Und zwar wollte ich Startrails erstellen, nur scheitere ich auf dem Weg dorthin
das ich es Automatisieren will ... wie stelle ich das am besten an?

Mit den Aktionen? oder doch die Stapelverarbeitung?

eine Möglichkeit hab ich schon gefunden via Scripten/Statistik (Maximum)
nur das er mir die 100+ Bilder auf einmal läd was zum unweigerlichen
voll werden des Arbeitsspeichers zur folge hat ... da reichen die 16gb nicht aus

ein kleiner Walkaround war es in kleinere teile zu spliten und
ca. 50 Bilder rechnen/speichern die nächsten laden

was aber ewig dauert ...

habt ihr einen Tipp für einen einsteiger?

LG Askella

Mio
27.07.14, 15:41
Hallo,
wie soll es denn etwa aussehen?

Askella
27.07.14, 15:49
ich war mit dem ergebniss des Gratisprogramms recht zufrieden (siehe Bild)
nur das es gute 3h Dauerte (für rund 150 Bilder) und es konnte nichts mit den CR2 datein anfangen ...

https://www.photoshop-cafe.de/bildupload/pics/sonst/thumb/1406465332_14393523199_52b300e630_o.jpg (https://www.photoshop-cafe.de/bildupload/pics/sonst/1406465332_14393523199_52b300e630_o.jpg)

wenn sowas rauskommt bin ich schon zufrieden ^^

heikehk
27.07.14, 15:58
Kannst du mal 10 der 150 Bild zur Verfügung stellen?
Man kann in Photoshop ja Bilder in einen Stapel laden (sollte mit CS2 auch schon gehen). Dann ist die Frage, die Du die Überlagerung schaffst. Ich würde spontant raten, dass Du, wenn Du für alle Bilder nur die Lichter ausählst und dann nur diese in jeder Ebene einblendest, dass das Ergebnis eventuell ganz gut gehen müsste. Das ist aber nur geraten. Das müsste man theoretisch auch in eine Aktion packen können.
Oder man versucht, ob Die Überlagerund "Negativ multiplizieren" eventuell schon was sinnvolles ergibt.
Wahrscheinlich musst du den Kran dann in einer extra Ebene behalten und per Maske den Himmel ausblenden.

Willkommen im PSC
Heike
Gruß
Heike

Askella
27.07.14, 16:15
@ heikehk

Hier sind 70 Bilder dieser Szene ... zwar stark skaliert, sollte aber für den Effekt reichen denke ich ...

https://drive.google.com/file/d/0B7VXrIgSKd-kTzAwQy1QWDRoTU0/edit?usp=sharing

heikehk
27.07.14, 17:11
Skript / Dateien in Stapel laden / alle Ebenen markieren und auf "hellere Farbe" stellen ergibt dieses Bild mit Deinen 70 Bildern:
https://www.photoshop-cafe.de/bildupload/pics/sonst/thumb/1406470221_startrail.jpg (https://www.photoshop-cafe.de/bildupload/pics/sonst/1406470221_startrail.jpg)

Ich weiß aber momentan nicht, ob es "hellere Farbe" in CS2 schon gab.
Negativ Multiplizieren klappte leider nicht

stefu
27.07.14, 17:13
Hm. Ich bin gerade etwas überfordert, weil ich nicht genau weiß, was mit den Einzelbildern angestellt werden soll.

Helle Farbe als Modus? erstens heißt es „hellere Farbe“ und zweitens war Heike schneller.

Was muss denn damit gemacht werden, damit Du zufrieden bist?
Habe es noch nicht runtergeladen.

heikehk
27.07.14, 17:20
Askella möchte mögliche unkompliziert auf ein schönes Ergebnis kommen, um sowas zu erstellen, wie ihr / sein Beispielbild. Es sind sehr viele Aufnahmen, die wohl über einen langen Zeitraum aufgenommen wurden. Hier werden dann die Bewegungen der Sterne sichtbar. Ich dachte mir, dass das mit den Ebenenüberlagerungen gehen müsste, denn 150 Fotos einzeln bearbeiten wäre schon aufwändig, und falls das nötig wäre, müsste man wissen, ob und wie das per Aktion möglich ist.
Ich für meinen Teil finde das Ergebnis mit "hellere Farbe" eigentlich ganz gut ;)

Gruß
Heike

stefu
27.07.14, 17:24
Ja, war auch für mich das Logischste.

Hab mal gesucht, weil ich so etwas wohl im Winter auch mal machen will, nachdem ich das gesehen habe, bei Dir, Askella.

Hier ist es genauso beschrieben:
http://www.ddpix.de/sternenspuren-fotografieren-tipps-tricks-zum-thema-startrails/

gelöschter User
27.07.14, 17:27
stellen?
Man kann in Photoshop ja Bilder in einen Stapel laden (sollte mit CS2 auch schon gehen).

Willkommen im PSC
Heike
Gruß
Heike

TE hat Photoshop CC 2014.
CR2 ist eine Canon Datei für RAW IMG (RAW+JPEG).

Für Makros verwende ich Helicon Focus.
Jetzt habe alle Bilder ins Programm geladen und bearbeitet, so sieht Ergebnis aus.


https://www.photoshop-cafe.de/bildupload/pics/sonst/thumb/1406472640_14-2.jpg (https://www.photoshop-cafe.de/bildupload/pics/sonst/1406472640_14-2.jpg)

stefu
27.07.14, 17:32
Ich habe es mit Datei>Skripten>Statistik mit dem Modus „Maximum“ gemacht.

https://www.photoshop-cafe.de/bildupload/pics/sonst/thumb/1406471445_Unbenannt1.jpg (https://www.photoshop-cafe.de/bildupload/pics/sonst/1406471445_Unbenannt1.jpg)

Welchen Weg man geht, ist sekundär, doch letztlich läuft es auf das Selbe hinaus.

Was man vielleicht machen könnte, wäre ein Skript, was immer ein Bild hinzufügt aus der Liste, im Modus „hellere Farbe“ versetzt und mit dem Hintergrundbild zusammenfügt. Dann wieder ein Bild aus der Liste nehmen und ebenso verfahren.
Das hält den Speicher klein; doch so ein Skript kann ich leider nicht schreiben.

Anstatt die RAW Dateien, würde ich dann wohl diese im Converter in TIF 16bit wandeln und diese dann nutzen.
Sonst fragt PS jedes Mal in der Automatik nach der Konvertierung...

Mehrere Stunden scheinen für so etwas normal zu sein bei entsprechend großen Daten.
Eventuell würde es helfen statt 10sek. 1 Min. zu belichten — reduziert die Anzahl der Aufnahmen um den Faktor 6.
Oder wenn es um die Sensortemperatur geht: 30 Sek — immer noch eine Reduktion um 1/3.

heikehk
27.07.14, 17:33
Ach da bin ich durcheinander gekommen. Dann gehts ja auf jeden Fall :)

Askella
27.07.14, 18:52
Skript / Dateien in Stapel laden / alle Ebenen markieren und auf "hellere Farbe"
stellen ergibt dieses Bild mit Deinen 70 Bildern:
https://www.photoshop-cafe.de/bildupload/pics/sonst/thumb/1406470221_startrail.jpg (https://www.photoshop-cafe.de/bildupload/pics/sonst/1406470221_startrail.jpg)

Ich weiß aber momentan nicht, ob es "hellere Farbe" in CS2 schon gab.
Negativ Multiplizieren klappte leider nicht

danke schon mal für deine mühen, nur das sind kleine JPG ...
wenn ich das mit den RAW Datein mache würgt man den rechner ab
da es doch gut 3 gb an Bildern sind ...

da kann man max 50 Bilder auf einmal machen habe aber meinst mehr ...


@ stefu


via "Datei>Skripten>Statistik" Maximum komm ich ja ans Ziel nur ist da meist recht schnell schluss ...

und mit TIFF hab ich auch schon getestet, wirklich ein Performance-Vorteil
ist da nicht drin, alles auf einmal geht auch da nicht gleich wie bei den RAW ...

Was man vielleicht machen könnte, wäre ein Skript, was immer ein Bild
hinzufügt aus der Liste, im Modus „hellere Farbe“ versetzt und mit dem Hintergrundbild
zusammenfügt. Dann wieder ein Bild aus der Liste nehmen und ebenso verfahren.
Das hält den Speicher klein; doch so ein Skript kann ich leider nicht schreiben.

Genau sowas bräuchte ich/oder sowas in die Richtung oder einen kleinen anstoß wie man zu sowas kommen könnte ...
hab schon mehrere versuche mit den "Aktionen" versucht nur leider klappt das nicht so ganz wie es sollte ...
Ich habe keinen plan wie ich ihn sagen könnte das er jedes einzelbild so einfügt ...
bisher macht er jedes Bild extra auf und hellt es mit sich selber auf (macht total viel sinn)

Wegen der Bilderanzahl, so unrecht hast du ja nicht, Leider neigen die APS-C Sensoren
schnell zum rauschen und längere belichtungszeiten verstärken das ganze noch ...
die 10 sek sind da grade richtig ...

EDIT: Schon mal ein Großes Danke für eure Mühen :)

stefu
27.07.14, 18:57
Mach mal ganz lieb bei Heike bitte bitte.
Inhaltlich stelle ich es mir wenig anspruchsvoll vor.

Und ich mache auch bei Dir mal bitte bitte, Heike.
Wenn es Deine Zeit erlaubt, wäre es prima ein Einstiegstutorial zum Thema Skripting zu bekommen.
Dann könnte ich Dir so Dinge vielleicht abnehmen. *liebguckt

Doch 3GB finde ich jetzt nicht sonderlich viel.
8GB sind sowieso für PS zugewiesen bei mir.

NotHelpless
27.07.14, 19:01
*auch bitte bitte macht*
das wäre bestimmt für mich auch sinnvoll. (weiß zwar gerade nicht, was ich alles noch lernen will, aber ich will lernen.)
gruß Moni

heikehk
27.07.14, 19:21
O je Leute,
Ob ch das kann weiß ich nicht, aber genau genommen müsste das mit eben Script machbar sein. Die Schwierigkeit ist, die passenden Befehle zu finden. Mal schauen, ob mir dazu was einfällt. Aber für scripting braucht man eine konkrete Idee und ne menge Geduld beim suchen.
Bin grad nicht sicher, ob ich es kann. Aber falls ich das hinbekäme könnte ich erläutern,
Warum ich was dort mache.
Gruß
Heike

NotHelpless
27.07.14, 21:10
*liebguck*
du machst das schon!
gruß Moni

heikehk
28.07.14, 19:43
also machbar wäre das....
Hab grad rausgefunden, wie ich eine Liste von Dateien hinbekomme und dann weiter verarbeiten kann. Die Frage ist jetzt, ob ich direkt auch RAWs einfügen kann.
Das weiß ich nciht. Wäre es schlimm, wenn Du die RAWs über dne Bildprozessor erst mal in ein anderes Format bringen müsstest?
RAW ist etwas blöd, weil damit immer der RAW Converter anspringt.
könntest Du mir bitte 70 TIFFS geben?
Im Bildprozessor kannst du Deine RAW-Dateien für de Zweck ganz einfach exportieren. Mit RAW sehe ich keine Chance.

Idee für das Script:


Du exportierst alle RAWs in TIFF
dann startest Du das Script
Du wählst im Datei-Dialog alle gewünschten Dateien aus
dann werden die Bilder in der Liste abgearbeitet:

erstes Bild öffnen
ab da immer Bild platzieren
Modus der platzierten Ebene auf hellere Farbe stellen
Ebenen zusammenfügen
nächstes Bild platzieren....

Danach eine PSD mit nur einer Ebene, die Du selbst speichern musst.

Sollte gehen und einigermaßen schnell laufen.


Ich weiß noch nicht, wie ich die Überlagerungsmodi zuweisen kann und wie die heißen, aber ich denke, dass man das über eine Variable machen können sollte und dann kann man das bei Bedarf anpassen.

Gruß
Heike

stefu
28.07.14, 20:16
Ich habe das Skript fertig.
Wer es noch einmal testen und dann hochladen.

Es arbeitet mit TIF.

stefu
28.07.14, 20:33
So, das Script ist fertig.
Ich hoffe, dass es auch unter Photoshop CS5 funktioniert.

Zu Anfang wählst Du den Ordner mit den TIF-Dateien aus.
Dann läuft das Script fröhlich vor sich hin.

Speicherprobleme sind definitiv ausgeschlossen.

Bitte beachten:
Es ist mein erstes Script.
Sollten Fehler drin sein — bitte Verzeihen.
Aber es wird nichts gespeichert — insofern sollten die Datein definitiv sicher sein.
Testlauf lief wunderbar.

Ist auch nicht sonderlich kompliziert, doch ich brauchte den ganzen Nachmittag, weil ich von Tuten und Blasen keine Ahnung habe.

#target Photoshop
app.bringToFront()

alert("Bitte den Ordner mit den TIF-Dateien der Sternbilder wählen.\nDanach läuft das Skript automatisiert ab.\n\nEntwickelt von stefu","Hinweis",0)

try{
var selectedFolder = Folder.selectDialog ("Choose a folder")
var fileArray = selectedFolder.getFiles("*.tif");
selectedFolder.getFiles ()
var nameArray = [];
myDoc = open(fileArray[0]);
for (var i = 1; i < fileArray.length; i++) {
newDoc = open(fileArray[i])
newDoc.selection.selectAll()
newDoc.selection.copy()
newDoc.close()
myDoc.selection.selectAll()
myDoc.paste()
myLayer = myDoc.artLayers[0]
myLayer.blendMode = BlendMode.LIGHTEN
myDoc.flatten()
}
}

catch (err) {
alert("Es ist ein Fehler aufgetreten.","Fehler",1)
}

heikehk
28.07.14, 20:51
Macht er das auch ordentlich mit dem einfügen?
Ich wollte über den Weg platzieren gehen.
Menno dann hätte ich mir das sparen können.

Ich hätte allerdings eine elegantere Lösung für die Auswahl der Dateien parat gehabt, damit nicht nur ganze Verzeichnisse eingelesen werden können :bleh:

stefu
28.07.14, 20:56
Ist ja auch mein erstes Script dieser Art :D

Klar hätte man sie auch so auswählen können über den Datei Dialog,
doch wenn es sowieso „nur" Massen von Dateien ein und derselben Art je Projekt, werden die sowieso im Ordner liegen und nicht durcheinander.
So mein Gedanke.

Und nicht traurig sein: Das Wissen wirst Du noch gebrauchen können.
Oder mache es zu Ende und erfreue den TE mit einer neuen (und wahrscheinlich besseren) Version.

Was denkst Du, warum ich heute so hartnäckig fragte?
Klar, war ich dabei dieses Projekt anzugehen; vom Aufwand her stellte ich es mir ja schon zu Anfang minimal vor.
Nur, da ich nicht wusste, was man hier wie macht, gingen bei mir satte sechs Stunden drauf. :(

Dafür habe ich jetzt etwas know how für eigene Anforderungen, wenn sie mal da sind.

Nur die Referenzen von Adobe könnten deutlich ausgebaut werden!!!

Askella
28.07.14, 21:52
@ heikehk

Leider bin ich diese Woche nicht zuhause, daher kann ich die RAW's
nicht Hochladen ...

@ stefu

Ich werde das Script versuchen wenn ich wieder zuhause bin :)


Erst mal ein RIESEN DANKE an euch allen ...

Ich berichte dann meine Ergenisse so schnell ich kann!

LG Askella

heikehk
28.07.14, 21:55
nur weil ich ja nicht nachtragend bin und zum Befehl photoshop-place(datei) keinerlei Optionen finde, die das Bestätigen der Transformation verhindern:

Dialog öffnen, in welchem man mehrere Dateien auswählen und öffnen kann:

var _filelist = File.openDialog ("Bitte alle Dateien zum Zusammenführen wählen: ", true)


Anzahl der Einträge herausfinden:
_filelist.length

Einzelne Datei in der Liste ansprechen:
_filelist[0]


Zähler fängt bei 0 an und die Anzahl ist um 1 größer als der Zähler.

Man sollte deshalb i in der Schleife bis i < _filelist.length laufen lassen.

stefu
28.07.14, 22:02
Ja, das Place machte mich auch eine Stunde lang fertig.
Habe eine Anfrage im Adobe Forum gestartet dazu.

Die Dokumentation ist echt dürftig.

heikehk
28.07.14, 22:09
so wie ich das sehe gibt es dazu keine Antwort.
photoshop.place(datei);
funktioniert, allerdings mit dem Haken, dass die Transformation abgehakt werden muss und den Lauf des Scriptes stoppt.
Ich wärde für eine Kombination aus Deinem Copy & Paste in einer schleife, die nach der Abfrage von mir gesteuert ist. Allerdings müsste man genau genommen noch eine Fehlerbehandlung mit einbauen, wenn man aus Versehen keine Bilddatei ausgewählt hat.

Gruß
Heike

stefu
29.07.14, 16:29
Es gibt eine neue Version des Skripts.

Ich habe Heikes Ratschlag befolgt und nun eine Datei-Auswahl für TIF, JPG und PSD ermöglicht.

Ferner habe ich einen Fortschrittsbalken eingefügt, was bei >100 Bildern bestimmt Sinn macht, damit man die Geduld nicht verliert und ungefähr weiß, wie lange es noch dauert.
Da der Fortschrittsbalken den Ablauf etwas reduziert, kann er für Vollspeed ausgeschaltet werden. Ob das Sinn macht, weiß ich nicht, doch ich habe es implementiert.

Ansonsten werden Fehler abgefangen und lassen sich dann auch zuordnen.
Da in der Regel die Fehler nur auftreten können, wenn das Bild beschädigt (=unlesbar) ist, habe ich es so gemacht, dass das fehlerhafte Bild benannt wird, damit man es analysieren kann.

Sonst gibt es nichts neues, es lief ja auch vorher schon zufriedenstellend.
Ich hoffe, dass diese Änderungen der Nutzerfreundlichkeit zu Gute kommen.

Sinn des Skripts:
Wenn man z. B. Starrails kreieren möchte, hat man mitunter hunderte Dateien, die man miteinander verrechnen lassen möchte, was den Arbeitsspeicher belasten kann.
Nicht alles Systeme haben zig GB Arbeitsspeicher verbaut, der das schluckt. Und auch mit zig GB Arbeitsspeicher, merkt man die Last deutlich.

Dieses Skript lädt nacheinander alle gewählten Dateien und überlagert diese im Modus „Aufhellen“.
Dazu öffnet das Skript eine Datei.
Dann öffnet es eine weitere, kopiert deren Inhalt und fügt diesen in die zuvor geöffnete Datei im Modus „Aufhellen“ ein. Anschließend schließt es die Datei.
Und so arbeitet es nach und nach alle Bilder durch.


Lieben Gruß
Stephan

heikehk
29.07.14, 16:36
und grad wollte ich es mir holen, da isses wieder weg :(

stefu
29.07.14, 16:39
War noch ein Debuggingstop Alert-Fenster drinnen. :D

Askella
02.08.14, 12:37
Hallo Leute

Danke für die Mühe das Script zu schreiben!
Es klappt wunderbar!

DANKE euch :)

heikehk
02.08.14, 14:37
Und wie sieht das Endergebnis aus und wie lange dauert es?

Askella
09.08.14, 23:47
Hallo Heike!

https://flic.kr/p/oz7mpT

Dies ist ein anderes Motiv aber im grunde immer die gleiche Vorgehensweiße
Dies hat nicht mal 15 min gedauert bei ca. 70 Bildern ...
Also verdammt schnell ^^

Danke nochmal für die Mühen das Script zu schreiben!

heikehk
10.08.14, 11:29
Die hatte ja Stephan, die Mühen ;)
Wäre schön, wenn du deine Fotos als kleines Dankeschön auch hier im Showroom zeigst :)
Upload über unseren bildupload geht bis 999 kb Dateigröße und maximal 4000 Pixel an der langen Seite.
Alles liebe
Heike

stefu
10.08.14, 15:55
Wobei es ohne Dich nicht entstanden wäre, das Skript.
Du hast mir beim Einstieg arg geholfen, Heike.

Sieht doch wirklich schick aus und es freut mich, dass ich helfen durfte und konnte.
:ok:

Giovanni Bonnerarte
02.08.15, 00:09
Hallo Stephan,

ich suche das script, finde es aber nicht. Das zip file zumdownloaden hat nach jedem Durchgang/Bild eine Warnmeldung ob man speichern möchte oder nicht.

Da hast Du doch sicher eines das duchläuft, oder?

http://www.fotocommunity.de/fotograf/giovanni-bonnerarte/1242170

Danke und LG aus Bonn
Giovanni

stefu
02.08.15, 01:39
Das Script aus Posting #27 läuft bei mir fehlerfrei durch.

Giovanni Bonnerarte
02.08.15, 16:23
Hallo Stephan,

script fragt beim laden jedes Bildes, ob der Farbraum geändert werden soll, danach kommt das script dran, dann die Frage, ob das zwischenergebnis gespeichert werden soll..., also pro Bild 2 Fragen.

Kann man das ausstellen?

Danke und LG

stefu
02.08.15, 18:39
Hallo!

Öffne die Datei mit einem Editor Deiner Wahl und mache dann folgendes.

Suche folgende Zeile:
newDoc.close()
und ersetze diese mit
newDoc.close(SaveOptions.DONOTSAVECHANGES)

Dann wird die Abfrage beim Speichern nicht stattfinden.
Was den Farbraum anbelangt: Hier passe die Bilder vorm importieren Deinem Arbeitsfarbraum an, dann kommt es auch nicht zu der Meldung.

Grüßle
Stephan

Giovanni Bonnerarte
02.08.15, 20:20
Hi Stephan,

habe den Farbraum, per scripten... ;-]] , angepaßt und jetzt, mit dem geänderten Code läufts durch.

Danke!

Nur, das Ergebnis ist nicht berauschend, aber das liegt an mir und den Originalen.

Kannst Du Literatur zum PS-scripten empfehlen?

- - -

Danke und LG aus Bonn

stefu
02.08.15, 20:26
Adobe hat ja ein komplettes Werk dazu im Netz.

Naja. Es ist für Star-Rails gedacht, das Script. Und da ist das Ergebnis extrem überzeugend.
Wenn es nicht dafür genutzt wird, höchstwahrscheinlich auch nicht zu gebrauchen.

Giovanni Bonnerarte
02.08.15, 20:48
Habe im script LIGHTEN mal intuitiv durch DARKEN ersetzt und es läut durch.

Würde gerne alternierend lighten dann darken, bekomme aber immer wieder Syntax-Fehler, Klammer Fehler halt denke ich.

Wie müßte das im script aussehen, ein Bild LIGHTEN, das Nächste DARKEN und wieder von vorne.

Nerve ich...?

;-}

Danke !!!

Das script von Dir ist aber sonst Sahne, Danke!

stefu
02.08.15, 20:54
Bau eine Variable als Zähler ein.
Dann if Abfrage.

Wenn gerade dann Lighten.
Wenn ungerade dann Darken.

Giovanni Bonnerarte
02.08.15, 22:09
Dein Script:

- - - - - - - - - - -

#target Photoshop
app.bringToFront()

//var hinweis = alert("Bitte den Ordner mit den TIF-Dateien der Sternbilder wählen.\nDanach läuft das Skript automatisiert ab.\n\nEntwickelt von stefu","Hinweis",0)

var hinweisfenster = new Window ('dialog','Starrail Merge', [200,220,560,380]);
hinweisfenster.oben = hinweisfenster.add('panel',[15,10,340,150],'v0.2');
hinweisfenster.oben.hinweis = hinweisfenster.oben.add('statictext',[20,15,300,380],'Dieses Script ist dazu gedacht mehrere Bilder');
hinweisfenster.oben.hinweis2 = hinweisfenster.oben.add('statictext',[20,33,300,380],'im Modus Aufhellen miteinander zu verbinden.');
hinweisfenster.oben.progbar = hinweisfenster.oben.add ('checkbox',[20,85,245,110]);
hinweisfenster.oben.progbar.value = true;
hinweisfenster.oben.progbartext = hinweisfenster.oben.add ('statictext',[40,90,360,110],'Fortschrittsbalken anzeigen');
hinweisfenster.oben.ok = hinweisfenster.oben.add('button',[245,85,280,110],'OK', {name:'ok'});
var ok = hinweisfenster.show() == 1;
hinweisfenster.close()
// Dateien auswählen
try{
var dateien = File.openDialog("Bitte die Bilddateien wählen:","*.tif,*.jpg,*.psd",true)
}
catch (err){
alert("Es ist ein Fehler bei der Dateiauswahl aufgetreten.","Fehler",1)
}


// erste Datei öffnen
try{
myDoc = open(dateien[0]);
}
catch (err){
alert("Die erste Datei konnte nicht geöffnet werden.\nDas Skript wurde unterbrochen.","Fehler",1)
}

//Fortschrittsbalken anzeigen
if (hinweisfenster.oben.progbar.value == true){
var win = new Window("window{text:'Fortschritt',bounds:[100,100,400,150],bar:Progressbar{bounds:[20,20,280,31] , value:0,maxvalue:100}};");
win.show();
}

//Schleife durchlaufen
//Bild öffnen, kopieren und in Ursprungsdokument einfügen und in den Modus "Aufhellen" setzen und Bild wieder löschen
try{
for (var i = 1; i < dateien.length; i++) {

newDoc = open(dateien[i])
newDoc.selection.selectAll()
newDoc.selection.copy()
newDoc.close(SaveOptions.DONOTSAVECHANGES)
myDoc.selection.selectAll()
myDoc.paste()
myLayer = myDoc.artLayers[0]
myLayer.blendMode = BlendMode.LIGHTEN
myDoc.flatten()
if (hinweisfenster.oben.progbar.value == true){
win.bar.value = i / dateien.length * 100
WaitForRedraw ()
}
try{
for (var i = 1; i < dateien.length; i++) {

newDoc = open(dateien[i])
newDoc.selection.selectAll()
newDoc.selection.copy()
newDoc.close(SaveOptions.DONOTSAVECHANGES)
myDoc.selection.selectAll()
myDoc.paste()
myLayer = myDoc.artLayers[0]
myLayer.blendMode = BlendMode.DARKEN
myDoc.flatten()
if (hinweisfenster.oben.progbar.value == true){
win.bar.value = i / dateien.length * 100
WaitForRedraw ()
}
}
if (hinweisfenster.oben.progbar.value == true) { win.close();}
}
}
}
if (hinweisfenster.oben.progbar.value == true) { win.close();}
}

catch (err) {
alert("Es ist ein Fehler aufgetreten während der Arbeit beim Bild Nr." + i + "\nDateiname: " + dateien[i].name,"Fehler",1)
}


//Funktion zum warten auf das Fertigzeichnen des Fensters
function WaitForRedraw(){
var eventWait = charIDToTypeID("Wait")
var enumRedrawComplete = charIDToTypeID("RdCm")
var typeState = charIDToTypeID("Stte")
var keyState = charIDToTypeID("Stte")
var desc = new ActionDescriptor()

desc.putEnumerated(keyState, typeState, enumRedrawComplete)
executeAction(eventWait, desc, DialogModes.NO)
}


- - - - - - - - - - -

...und wie wird das umgebaut...?

Magst Du es mir bauen?

Danke !!!

stefu
03.08.15, 11:38
Magst Du es mir bauen?
Nö.

Du hast in der for-Schleife doch eine Variable i.
Hier einfach eine if-Abfrage einbauen wo jetzt
myLayer.blendMode = BlendMode.LIGHTEN
steht.

Der Syntax für if-else ist:

if (variable < 1 ) {
text = "kleiner als eins";
}
else {
text = "eins oder größer als eins";
}

Und für die Berechnung musst Du nur noch Modulo anwenden, um herauszufenden ob die Zahl gerade ist oder nicht.

Also:
if (i % 2 == 0) {
myLayer.blendMode = BlendMode.LIGHTEN;
} else {
myLayer.blendMode = BlendMode.DARKEN;
}


Prinzipiell von der Logik und dem Aufbau ganz simpel.

heikehk
03.08.15, 11:54
Die Idee mit der Laufzeitvariablen ist doch super.
Die IF-Abfrage, wie von Stephan beschrieben mit dem modulo (Kannte ich in der Form nicht und habe gegoogelt) ist ideal und sollte klappen. Falls nicht musst Du uns mal die Fehlermeldung geben.


for (var i = 1; i < dateien.length; i++)

Dann beim Blendmode:

if (i % 2 == 0) {
myLayer.blendMode = BlendMode.LIGHTEN;
} else {
myLayer.blendMode = BlendMode.DARKEN;
}

heikehk
03.08.15, 19:26
Stephan,

würde das so gehen?
#target Photoshop
app.bringToFront()

//var hinweis = alert("Bitte den Ordner mit den TIF-Dateien der Sternbilder wählen.\nDanach läuft das Skript automatisiert ab.\n\nEntwickelt von stefu","Hinweis",0)

var hinweisfenster = new Window ('dialog','Starrail Merge', [200,220,560,380]);
hinweisfenster.oben = hinweisfenster.add('panel',[15,10,340,150],'v0.2');
hinweisfenster.oben.hinweis = hinweisfenster.oben.add('statictext',[20,15,300,380],'Dieses Script ist dazu gedacht mehrere Bilder');
hinweisfenster.oben.hinweis2 = hinweisfenster.oben.add('statictext',[20,33,300,380],'im Modus Aufhellen miteinander zu verbinden.');
hinweisfenster.oben.progbar = hinweisfenster.oben.add ('checkbox',[20,85,245,110]);
hinweisfenster.oben.progbar.value = true;
hinweisfenster.oben.progbartext = hinweisfenster.oben.add ('statictext',[40,90,360,110],'Fortschrittsbalken anzeigen');
hinweisfenster.oben.ok = hinweisfenster.oben.add('button',[245,85,280,110],'OK', {name:'ok'});
var ok = hinweisfenster.show() == 1;
hinweisfenster.close()
// Dateien auswählen
try{
var dateien = File.openDialog("Bitte die Bilddateien wählen:","*.tif,*.jpg,*.psd",true)
}
catch (err){
alert("Es ist ein Fehler bei der Dateiauswahl aufgetreten.","Fehler",1)
}


// erste Datei öffnen
try{
myDoc = open(dateien[0]);
}
catch (err){
alert("Die erste Datei konnte nicht geöffnet werden.\nDas Skript wurde unterbrochen.","Fehler",1)
}

//Fortschrittsbalken anzeigen
if (hinweisfenster.oben.progbar.value == true){
var win = new Window("window{text:'Fortschritt',bounds:[100,100,400,150],bar:Progressbar{bounds:[20,20,280,31] , value:0,maxvalue:100}};");
win.show();
}

//Schleife durchlaufen
//Bild öffnen, kopieren und in Ursprungsdokument einfügen und in den Modus "Aufhellen" setzen und Bild wieder löschen
try{
for (var i = 1; i < dateien.length; i++) {

newDoc = open(dateien[i])
newDoc.selection.selectAll()
newDoc.selection.copy()
newDoc.close(SaveOptions.DONOTSAVECHANGES)
myDoc.selection.selectAll()
myDoc.paste()
myLayer = myDoc.artLayers[0]
if (i % 2 == 0) {
myLayer.blendMode = BlendMode.LIGHTEN;
} else {
myLayer.blendMode = BlendMode.DARKEN;
}[/COLOR]
myDoc.flatten()
if (hinweisfenster.oben.progbar.value == true){
win.bar.value = i / dateien.length * 100
WaitForRedraw ()
}
}
if (hinweisfenster.oben.progbar.value == true) { win.close();}
}

catch (err) {
alert("Es ist ein Fehler aufgetreten während der Arbeit beim Bild Nr." + i + "\nDateiname: " + dateien[i].name,"Fehler",1)
}


//Funktion zum warten auf das Fertigzeichnen des Fensters
function WaitForRedraw(){
var eventWait = charIDToTypeID("Wait")
var enumRedrawComplete = charIDToTypeID("RdCm")
var typeState = charIDToTypeID("Stte")
var keyState = charIDToTypeID("Stte")
var desc = new ActionDescriptor()

desc.putEnumerated(keyState, typeState, enumRedrawComplete)
executeAction(eventWait, desc, DialogModes.NO)
}

stefu
03.08.15, 19:48
Das [/COLOR] darf da nicht stehen ;)

Giovanni Bonnerarte
03.08.15, 21:53
Hi,

das läuft ohne

[/COLOR]

durch, ohne Fehler.

Das Ergebnis ist aber auch nicht irgendwie wie diese Sachen hier von Matt Malloy...

https://iso.500px.com/author/mattmolloy/

...liegt aber wohl eher an meinen Vorlagen...

;-}

Trotzdem DANKE für eurer beiden Einsatz!

stefu
04.08.15, 09:10
Hallo Giovanni!

Ja, das stimmt.
Mit dem Ausgangsmaterial, welches Du mir zugesendet hast, kann es so nicht funktionieren.

Der Urheber zeigt ja auch, wie es konkret funktioniert bei 500px.
https://iso.500px.com/time-stack-photo-tutorial/

Wichtig ist das Ausgangsmaterial.
Du hast mir Bilder zugesendet mit vielen größeren Wolken in überwiegend hellen Flächen.
Wenn Du genau hinsiehst, entdeckst Du, dass sein Ausgangsmaterial komplett anders ist: kleine Wolken, starke Konturen und Kontraste, viel freie Himmelsfläche, gefärbte Wolken dank Morgen- oder Abendstimmung.

Nur mit dem richtigen Ausgangsmaterial, kannst Du zu ähnlichen Ergebnissen kommen.
Und dann gilt es noch den richtigen Abstand zu finden zwischen den Aufnahmen. Das ist nicht so schwer, weil man lieber mehrere Aufnahmen macht, von denen man dann wiederum jede 2. oder 2. sowie 3. löschen kann, um den richtigen Abstand zu gewinnen für den Effekt.

Um etwa gleiche Ergebnisse zu erzielen, braucht man etwa gleiches Material.
Und natürlich auch das Wissen um die Verarbeitung (was der Autor auch teilt).

Doch ich denke, da werden so einige enttäuscht sein, wenn sie es nach dem Video machen, weil viele nicht darauf achten, was für Material verwendet wurde, sondern davon ausgehen, dass es passen muss mit dem eigenen beliebigen Material.

Ich bin mir jedoch sicher, dass Du mit etwas Übung und vor allem geeigneten Material schnell ähnliche Ergebnisse erzielen kannst, denn es ist keine Zauberei.

Lieben Gruß
Stephan

heikehk
04.08.15, 10:48
Huch das [/Color] war noch übrig geblieben :)
Freut mich, wenns läuft :ok: