// Verkleinern und Positionieren eines Logos abhaengig von der Bildgroesse.
// Die Verkleinerung wird auf die lange Seite des Bildes berechnet
// und auf die Breite des Logos angewendet.
//
// Script geht davon aus, dass das Logo als Ebene ueber dem
// Bild geladen ist. Weitere Ebenen duerfen nicht enthalten sein.
//
// Das Script verkleinert und platziert nur das Logo, kein Speichern
var Prozent_Logo = 10; // Groesse des Logos abhaengig von Bildgroesse
var Prozent_Abstand_rechts = 10; // Abstand vom rechten Rand in Prozent
var Prozent_Abstand_unten = 10; // Abstand vom unteren Rand in Prozent
// Buendig unten bzw. rechts = 0
// Buendig oben bzw. links = 100 - Prozent_Logo
// ab hier rumfummeln nur noch mit Ahnung
var startRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
var aD = activeDocument;
// Berechnung der aktuellen Logo-Groesse durch die Eckpunkte der Logo-Ebene
var LB = aD.artLayers[0].bounds;
var LogoHoehe = Math.abs(LB[3].value) - Math.abs(LB[1].value);
var LogoBreite = Math.abs(LB[2].value) - Math.abs(LB[0].value);
// Berechnung der Bildgroesse durch die Eckpunkte der Bildebene
var LB = aD.artLayers[1].bounds;
var BildHoehe = Math.abs(LB[3].value) - Math.abs(LB[1].value);
var BildBreite = Math.abs(LB[2].value) - Math.abs(LB[0].value);
// Berechnung der Logogroesse
var ZielBreiteLogo = Math.max(BildBreite, BildHoehe) * Prozent_Logo / 100;
var ZielProzentLogo = ZielBreiteLogo * 100 / LogoBreite
// Und jetzt die Logogroesse aendern
activeDocument.activeLayer.resize(ZielProzentLogo, ZielProzentLogo, AnchorPosition.TOPLEFT);
// neue Logogroesse berechnen
var LB = aD.artLayers[0].bounds;
var LogoHoehe = Math.abs(LB[3].value) - Math.abs(LB[1].value);
var LogoBreite = Math.abs(LB[2].value) - Math.abs(LB[0].value);
// Position fuer Verschieben berechnen
var Verschieben_rechts = BildBreite - (Math.max(BildBreite, BildHoehe) * Prozent_Abstand_rechts/100) - LogoBreite;
var Verschieben_unten = BildHoehe - (Math.min(BildBreite, BildHoehe) * Prozent_Abstand_unten/100) - LogoHoehe ;
// Und jetzt das Logo verschieben
activeDocument.activeLayer.translate(Verschieben_rechts, Verschieben_unten);
app.preferences.rulerUnits = startRulerUnits;