• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Frohe Ostern!

    Wir wünschen allen DSLR-Forum Nutzern, ihren Familien und Freunden sowie unseren Sponsoren und Partnern und deren Familien und Freunden ein frohes Osterfest.

    Euer DSLR-Forum Team!
WERBUNG

Speichern Skript für PS

gnorm

Themenersteller
Ich würde gerne für PS (aktuelle CC Version) ein Skript erstellen welches mir meine Datei als JPG mit einem festen Namen speichert. Jetzt ist es ja so, dass Adobe da ein bisschen was geändert hat und mal als Kopie speichern muss um überhaupt als JPG speichern zu können. Wenn ich nun einfach versuche als JPG zu speichern via Skript kommt trotzdem der Dialog. Also klappt das anscheinend nicht mehr so leicht wie früher. Aber ich finde da auch nichts dazu in der Doku. Hat da jemand eine Idee dazu oder ein Beispiel?

Mir ist bewusst, dass es da viele andere Möglichkeiten gibt, aber ich brauche zwingend das Skript, da hier vorher noch viel mehr gesschieht.

Hier mal der aktuelle Code der leider nicht mehr funktioniert:
var saveFolder = '/c/Bildspeicher';
var doc = app.activeDocument;
var fileName = 'Hans';

var jpgOptions = new JPEGSaveOptions();
jpgOptions.quality = 12;
jpgOptions.embedColorProfile = true;
jpgOptions.formatOptions = FormatOptions.PROGRESSIVE;
if(jpgOptions.formatOptions == FormatOptions.PROGRESSIVE){
jpgOptions.scans = 5};
jpgOptions.matte = MatteType.NONE;

doc.saveAs (new File(saveFolder +'/' + fileName + '.jpg'), jpgOptions);
 
Habe ich mittlerweile probiert, hat aber keine Auswirkung auf das Skript. Oder ich habe noch einen anderen Fehler drin.
 
Jetzt ist es ja so, dass Adobe da ein bisschen was geändert hat und mal als Kopie speichern muss um überhaupt als JPG speichern zu können.
Ist nicht korrekt - auch der normale Speichern-Dialog erlaubt dir das Speichern als JPG.
Voraussetzung: in der Datei existiert ausschließlich die Hintergrund-Ebene. Denn JPG kann nur mit einer einzigen HIntergrundebene umgehen.

Früher hat Adobe das Problem umgangen, in dem sie bei Auswahl von JPG in diesem Fall automatisch die Checkbox "als Kopie speichern" ausgewählt haben, aber Apple hat irgendwas verändert und so direkt aus dem Speichern-Dialog heraus geht das wohl nicht mehr (beim Mac, und unter Windows wurde das dann analog angepasst)

Wenn ich nun einfach versuche als JPG zu speichern via Skript kommt trotzdem der Dialog.
Vermutlich aus dem gleichen Grund: hat die Datei mehrere Ebenen (oder auch nur eine Nicht-Hintergrundebene), dann kann das als JPG nicht mehr gespeichert werden, ohne das die Ebenen auf eine Hintergrundebene reduziert werden.

Was genau versuchst du zu erreichen? Das Bild einfach als JPG speichern? Dann Ebene > Auf Hintergrundebene reduzieren und es sollte gehen. Bei 16bit Farbtiefe ggf. zuerst noch auf 8bit umwandeln, ich glaube JPG geht nur mit 8bit.
Das ganze kann man natürlich auch als Aktion / Script erstellen.

Wenn du quasi eine Kopie als JPG speichern willst, ohne die Originaldatei auf eine Ebene runterzumergen, könntest du per Script ein zusammengemergtes Duplikat erstellen und das abspeichern. Etwas in der Art habe ich in einem Script verbaut, das sieht in etwa so aus (auszugsweise und natürlich kein PHP, sondern JavaScript):

PHP:
// create a merged duplicate 
var flattenDuplicate = this.document.duplicate("someName", true);
	
// convert into 8bit sRGB;
flattenDuplicate.convertProfile("sRGB IEC61966-2.1", Intent.RELATIVECOLORIMETRIC);
flattenDuplicate.bitsPerChannel = BitsPerChannelType.EIGHT;


// save as JPG
var jpgOptions = new JPEGSaveOptions();

jpgOptions.quality = 11;
jpgOptions.embedColorProfile = true;
jpgOptions.formatOptions = FormatOptions.PROGRESSIVE;

if(jpgOptions.formatOptions == FormatOptions.PROGRESSIVE){
	jpgOptions.scans = 5;
}
	
jpgOptions.matte = MatteType.NONE;
	
flattenDuplicate.saveAs(
	new File("file.jpg"),
	jpgOptions,
	true,
	Extension.LOWERCASE
);

Hoffe das hilft weiter

~ Mariosch
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten