News und Tutorials zu Adobe Photoshop

[GastForen Programme Print/Bildbearbeitung Adobe Photoshop Seitenverhältnisse automatisch per Batch angleichen

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

Seitenverhältnisse automatisch per Batch angleichen

MichaelP
Beiträge gesamt: 268

27. Okt 2022, 15:00
Beitrag # 1 von 3
Bewertung:
(2498 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich suche nach einer Möglichkeit, per Batch (Stapelverarbeitung) zahlreiche Bilder auf gleiches Seitenverhältnis zu trimmen. Ich kann in PS (auch in Irfan und XnView) zwar eine Auswahl erstellen, die ein festes Seitenverhältnis (z.B. 4:3) hat, doch weder kann ich diese zentrieren (oder sonstwie automatisch positionieren), wenn es sich um verschiedene absolute Bildgrößen handelt. Das Zuschneiden auf konkrete Werte, Prozentzahlen etc. ist indes bei keinem der genannten Programme ein Problem. Hat jemand die Idee für eine "Aktion", die einen Workaround darstellt?

Konkret sollen aus verschieden großen Bildern 2:1 Formate werden:
1200×500px -> 1000×500px
4000×2100px -> 4000×2000px
Und leider sind es nicht zwei, sondern eher zweihundert, weshalb das ganze nur per Batch realistisch ist.

Wenn ich recht überlege, geht es im Kern um ein automatisches Zentrieren einer größtmöglichen Auswahl im vorgegebenen Seitenverhältnis.
.
X

Seitenverhältnisse automatisch per Batch angleichen

ph_o_e_n_ix
Beiträge gesamt: 29

27. Okt 2022, 15:22
Beitrag # 2 von 3
Beitrag ID: #584700
Bewertung:
(2472 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So in etwa?

Code
var ratio = "2:1";  

main();
function main(){
if(!documents.length) return;
var strtRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
var W = activeDocument.width;;
var H = activeDocument.height;

ratio = ratio.split(":");
if(W<H) ratio=ratio.reverse();
var Hpics =(W/Number(ratio[0]))*Number(ratio[1]);
if(Hpics > H){
Wpics = (H/Number(ratio[1]))*Number(ratio[0]);
Hpics = H;
}else{
Wpics = W;
}
var Left,Top,Right,Bottom=0;
if (W==Wpics) Left = 0; Right = W;
if (W!=Wpics) {
var diffw = (W-Wpics)/2;
Left = diffw; Right = Wpics+diffw;
}
if (H==Hpics) Top = 0; Bottom = H;
if( H!=Hpics){
var diffh = (H-Hpics)/2;
Top = diffh; Bottom = Hpics+diffh;
}
activeDocument.selection.select([[Left,Top],[Right,Top],[Right,Bottom],[Left,Bottom]], SelectionType.REPLACE, 0, false);
executeAction(charIDToTypeID( "Crop" ), new ActionDescriptor(), DialogModes.NO );
activeDocument.selection.deselect();
app.preferences.rulerUnits = strtRulerUnits;
}



als Antwort auf: [#584699]
(Dieser Beitrag wurde von ph_o_e_n_ix am 27. Okt 2022, 15:30 geändert)

Seitenverhältnisse automatisch per Batch angleichen

MichaelP
Beiträge gesamt: 268

27. Okt 2022, 15:55
Beitrag # 3 von 3
Beitrag ID: #584704
Bewertung:
(2444 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow! Da bin ich platt. Funktional. Flexibel.
Und dann war die antwort auch schon ein paar Minuten nach meiner Frage da.
Danke!
.


als Antwort auf: [#584700]