Kann mir jemand helfen, diesen Automator-Workflow in AppleScript zu übersetzen?

1

Arbeitsablauf

Was ich tun möchte, ist, eine Reihe von Bildern mit unterschiedlichen Abmessungen auszuwählen und einheitlich eine prozentuale Skala anzuwenden, um deren Größe zu ändern. Der Workflow kommt dem sehr nahe. Aber ich kann nicht auf die nächsten Zehntel genauer eingehen. Bei Pixeln wird nur die Länge berücksichtigt, während ich die Breite möchte. So dachte ich, solange es in AppleScript ist, kann ich die Skala leicht spezifizieren, die ich will. Ich beabsichtige, das Skript als Dienst auszuführen.

Nix
quelle
2
Dies sieht aus wie ein XY-Problem . Können Sie also genauer beschreiben, welches Problem Sie hier lösen möchten (ohne bereits davon auszugehen, dass AppleScript der richtige Weg ist)? Oder beschreiben Sie genauer, warum AppleScript ein Muss ist ?
Nohillside

Antworten:

1

Sie können eine Aktion "Shell-Skript ausführen" verwenden und sipsIhre Bilder auf einen beliebigen Wert verkleinern. Fügen Sie eine Aktion "Shell-Skript ausführen" hinzu, stellen Sie sicher, dass die Eingabemethode auf "stdin" eingestellt ist (sollte die Standardmethode sein), und fügen Sie das folgende Skript ein

SCALEFACTOR=500
while IFS= read file; do
    sips --resampleWidth $(($(sips -g pixelWidth "$file" |
                                  sed -n -e '/pixelWidth/s/.*pixelWidth: //p')
                            * $SCALEFACTOR / 1000)) "$file" --out "${file%/*}/resized-${file##*/}"
done

Die Shell-Arithmetik unterstützt nur Ganzzahlen, daher müssen Sie den Skalierungsfaktor in Tausendern angeben (z. B. 424 für 42,4%).

nohillside
quelle
Haben Sie diesen Code getestet und wenn ja, wie genau haben Sie ihn getestet? Es tut nichts für mich. BTW Es ist "Run Shell Script" -Aktion.
user3439894
Sorry, habe vergessen den Pfad zu den Dateien zu berücksichtigen. Fest.
Nohillside
Funktioniert jetzt für mich. +1 Ich muss zugeben, ich habe nicht einmal versucht, es zu debuggen, und ich hätte es tun sollen. :)
user3439894
Sie möchten wahrscheinlich die einsame Bilddatei löschen, die in Ihrem
privaten