Logo per Droplet in ein Bild einfügen

ntpnexus

Grünschnabel
Hallo,

ich habe heute den ganzen Tag versucht mit Hilfe einiger Beiträge hier im Forum ein Droplet zu erstellen, jedoch schaffe ich es nicht, es nach meinen Vorstellungen zu realisieren. Ich verwende PS CS2.

Mein Ziel ist es, geschossene Fotos mit einem kleinen Logo unten rechts in der Ecke zu versehen und dann unter dem gleichen Dateinamen abzuspeichern.

Mein Problem besteht darin, dass ich 2 Dateien habe, zum einen mein foto_x.jpg und mein logo.png mit voreingestellter Größe und Transparenz. Wenn ich nun mein Foto lade und die Größe veränder will ich danach mein Logo einfügen. Dazu öffne ich das Logo und dupliziere die Ebene mit dem Logo mit dem Ziel des geöffneten Fotos foto_x.jpg. Er speichert also quasi als Ziel des Vorgangs "Ebene dupluzieren" das foto_x.jpg ab.
Wenn ich dieses Droplet dann mit der Datei anwende, also das Foto raufziehe, funktioniert alles wunderbar. Sobald ich aber ein anderes Foto nehme, fügt er das Logo nicht mehr ein, da die Ebene auf die PS das Logo kopieren will nicht mehr so heißt wie im Droplet gespeichert.

Gibt es eine Möglichkeit dies zu umgehen oder gibt es sogar eine noch einfachere Lösung?

Grüße,
ntpnexus
 
Ich würde das über ein Script lösen (geht auch mit Ationen/Droplets, aber Scripte sind flexibler).
Wenn du auf nem Mac unterwegs bist, brauchst du gar nicht weiterlesen. Das Script läuft nur unter Win.
Ansonsten kopiere folgenden Code in eine neue Textdatei, passe oben die Angaben deinen Wünschen an und speichere sie als "logo.vbs" ab. Nun einfach eine beliebige Anzahl von Bildern per Drag'n'Drop auf das Script ziehen und zurücklehnen. Das Script kann auch noch angepasst werden, dass man einen kompletten Ordner angeben kann, aber du wolltest es ja als "Droplet".

Achtung! Die Bilder werden überschrieben (immer als JPG). Lässt sich aber ohne Aufwand auch anpassen. (aber s.o., du wolltest es ja so wenn ich es richtig verstanden habe :) )

Code:
Option Explicit
Dim appref, objShell, docref, strtRulerUnits, SaveOptions
Dim datei, logo,i, rand_links, rand_unten, Logopfad,qualitaet

'*********Anfang Eingabebereich***************************************

Logopfad="C:\temp\logo.png"	'Pfad zur Logodatei
rand_links=50			'Logoabstand vom linken Rand in Pixel
rand_unten=50			'Logoabstand vom unteren Rand in Pixel
qualitaet=8			'Speicherqualitaet angeben (1..12)

'*********Ende Eingabebereich*****************************************
Set objShell = WScript.CreateObject("WScript.Shell")
If WScript.Arguments.count=0 Then 
	MsgBox "Die Dateien per Drag'n'Drop auf die 'VBS'-Datei ziehen!"
	WScript.Quit 
End If
Set appref = CreateObject("Photoshop.Application")
Set logo = appref.Open (Logopfad)
Set SaveOptions= CreateObject("Photoshop.JPEGSaveOptions") 
SaveOptions.Quality =qualitaet
strtRulerUnits = appRef.Preferences.RulerUnits
appref.Preferences.RulerUnits = 1
logo.Selection.selectall
logo.Selection.copy

For i=0 To WScript.Arguments.count-1
	datei= wscript.arguments.item(i)
	Set docref=appref.open (datei)
	docref.Selection.Select Array(Array(docref.Width -rand_links-logo.Width , docref.Height - logo.Height -rand_unten), _
			              Array(docref.Width -rand_links, docref.Height - logo.Height - rand_unten), _
			              Array(docref.Width -rand_links, docref.Height - rand_unten), _
			              Array(docref.Width -rand_links-logo.Width , docref.Height - rand_unten)), 1, 0, False
	docref.Paste True
	docref.MergeVisibleLayers 
	docref.Saveas datei,SaveOptions,False
	docref.close
Next

logo.Close 
appref.Preferences.RulerUnits = strtRulerUnits
 
Zurück