AW: Logo/Wasserzeichen mit Stapelfunktion in Bilder unterschiedlicher Größe kopieren
So, jetzt ist doch einige Zeit vergangen.
Ich musste die letzten Tage für meinen Job ordentlich auf´s Gas treten und die Arbeit mit den PICS, die Logo-Aktion und auch das Forum trotz bester Vorsätze unbeachtet liegen lassen. Aber so sind nun halt mal die Prioritäten :'(
Hier nun wie versprochen das "umgedrehte" Skript, das in dieser Form in eine Aktion eingebaut werden kann und laufen wird.
Irgendwie bin ich ein bisserl stolz. Dafür, dass ich noch nie ein Jafa-Skript selbständig irgendwo und irgendwie eingesetzt habe, eins gelesen hätte oder gar daran rumgeschrieben hätte - ich bin nicht mehr der Allerjüngste und werde beruflich von gänzlich anderen Dingen gefordert -, war ich doch mehr als erstaunt, dass man "bei sorgfältigem Lesen" mehr oder weniger intuitiv erkennen kann, wie die Sache gemeint ist. Und ändern klappt sogar auch
Ich sag mal: das gibt Hoffnung ...
SKRIPT:
___________________________________________________________-
/* Zuerst das Zielbild, dann das Bild mit dem Wasserzeichen (kurz: "WZ-Bild") laden */
preferences.rulerUnits = Units.PIXELS;
if (documents.length >= 2){
var prozent=30; /* Zielgroesse des Wasserzeichen-Bildes in Prozent */
/* Nach Geschmack aendern */
var res=72; /* Aufloesung des Wasserzeichen-Bildes */
/* Bei Bedarf aendern */
var zielb = 0; /* Variable fuer Zielbreite deklarieren */
var zielh = 0; /* Variable fuer Zielhoehe deklarieren */
var neue_breite = 0; /* Variable fuer neue Breite des WZ-Bildes deklarieren */
activeDocument = documents[1]; /* zweites Bild (Wasserzeichen) aktivieren */
var b1 = activeDocument.width.value; /*Breite des WZ-Bildes einlesen*/
var h1 = activeDocument.height.value; /* Hoehe des WZ-Bildes einlesen*/
var verhaltniss = b1/h1; /* die Proportion des WZ-Bildes ermitteln */
activeDocument = documents[0]; /* erstes Bild (Zielbild) aktivieren */
var b2 = activeDocument.width.value; /* Breite des Zielbildes einlesen*/
var h2 = activeDocument.height.value; /* Hoehe des Zielbildes einlesen */
if (b2 > h2){ /* Querformat */
neue_breite = b2 / 100 * prozent;
}
else{ /* Hochformat oder Quadrat */
neue_breite = h2 / 100 * prozent;
}
zielb = neue_breite; /* neue Breite des WZ-Bildes */
zielh = neue_breite / verhaltniss; /* neue Höhe des WZ-Bildes*/
activeDocument = documents[1]; /* zweites Bild (=WZ-Bild) aktivieren */
activeDocument.resizeImage( zielb, zielh, res, ResampleMethod.BICUBIC); /* erzeugt neues WZ-Bild*/
activeDocument.selection.selectAll(); /* Alles auswaehlen */
activeDocument.selection.copy(false); /* Kopieren in die Zwischenablage; geht von einer Ebene aus. */
/* Wenn das Wasserzeichen aus mehreren Ebenen besteht, */
/* sollte in der Klammer true anstatt false stehen */
activeDocument.close(SaveOptions.DONOTSAVECHANGES); /* WZ-Bild schliessen ohne zu speichern */
activeDocument.paste(); /* WZ-Bild aus Zwischenablage in das Zielbild einfuegen */
}
_____________________________________________________________________
Skript vom ersten Querstrich bis genau zur letzten geschweiften Klammer in der letzten Zeile kopieren.
In Text-Editor einsetzen und speichern.
Txt-Datei dann umbenennen in .jsx
Sobald man von .txt auf .jsx umbenannt hat, ist übrigens Lektüre und Editieren leichter, da das Skript dann - zumindest bei XP - von einem speziellen Editor geöffnet wird. Die Kommentare werden dann z.B. grün dargestellt und der Zeilenumbruch ist wesentlich übersichtlicher.
Einbau in PS siehe Nr. 17 von goldmoon.
Jetzt will ich mal zusehen, dass ich das angedrohte Tutorial zustande bekomme ...
Abschließend noch einige schnell gezimmerte Beispiele.
Die Bilder hat mir freundlicherweise Eddianer zur Verfügung gestellt - so was Tolles bekomme ich in diesem Leben nicht mehr zustande :'( :'
'(
Das Wasserzeichen ist nicht sein Originalwasserzeichen, das hab´ ich für diese Demo hier schnell gebastelt.
Nochmals ganz herzlichen Dank an goldmoon, das war wirklich eine rießige Hilfe
:
:
:
Hungry Tiger