tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
2495
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    BitMan BitMan ist offline Mitglied Gold
    Registriert seit
    Jan 2006
    Ort
    Eschweiler
    Beiträge
    189
    Hi Tutorials,

    ich arbeite grad an meiner Website und möchte die dort veröffentlichten Bilder mit einem Logo versehen.

    Über Aktionen und Stapelverarbeitung geht das.

    Beispiel:
    1. Bild öffnen
    2. Logo-Datei öffenen
    3. Logo kopieren
    4. Logo in Bild einfügen
    5. Position über STRG T neu festlegen...
    6. Speichern

    So weit, so gut. Das geht auch bei allen Bildern, die in den Proportionen identisch sind.
    Sobald ich das aber mit einem Bild versuche, das in den Maaßen abweicht, bekomme ich das Logo ausserhalb des Bildes, in der Mitte, je nachdem. Aber nicht genau 5px/5px vom linken Rand. Kann ich das regeln?

    Problem 2: Bei einer längeren Stapelverarbeitung will Photoshop beim Speichern immer die JPG-Komprimierung neu definieren! Kann man das abschalten?

    LG BitMan!
     

  2. #2
    Avatar von Philip Kurz
    Philip Kurz Philip Kurz ist offline Mr. Blue Sky
    tutorials.de Moderator
    Registriert seit
    Nov 2002
    Ort
    Berlin / New Orleans
    Beiträge
    2.458
    Blog-Einträge
    8
    Hallo BitMan.

    Anstatt die Position via "Transformieren" festzulegen, könntest du die Ebene auch ausrichten. Dazu wählst du das Verschieben-Werkzeug und markierst die gesamte Arbeitsfläche (Strg+A). Nun kannst du dein Objekt mit den Feldern "Untere Kanten ausrichten" und "Linke Kanten ausrichten" platzieren und anschließend noch um deinen gewünschten Rand verschieben. Diese Methode müsste für alle Maße das gleiche Ergebis ergeben.

    Weiterhin müsste bei der Stapelverarbeitung eine Option mit der Bezeichnung "'Speichern unter' in Aktion überschreiben" vorhanden sein. Somit wäre auch das zweite Problem gelöst.

    Grüße

    Philip
     
    "Time flies like an arrow; fruit flies like a banana"

  3. #3
    hotschen hotschen ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    296
    Genau dafür hab ich vor einiger Zeit mal ein VB-Script geschrieben. Dazu musst du falls noch nicht geschehen) das Script-Plugin von Adobe installieren.
    Diesen Code in eine neue Textdatei kopieren und als "Logo.vbs" abspeichern. Weiter Infos stehen oben im Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    
    '*************************************************************************
    '   Voraussetzung: 
    '***   -PS CS(2) oder PS 7 mit installiertem Scriptunterstützungsplugin
    '***   -Windows als Plattform, da ein Mac leider mit VBS nicht klar kommt
     
    '   Beschreibung:   
    '***   -Zuerst die Pfade und Werte im "Eingabebereich" anpassen.
    '***   -Die Ränder beziehen sich immer auf die gewählte Referenzseite (wird
    '***    per Inputbox abgefragt).
    '***   -Anschliessend die Datei speichern und die Endung von 'txt' in 'vbs'
    '***    umbenennen.
    '***   -Ihr könnt nun einfach Dateien per Drag'nDrop auf das Script ziehen.
    '***    Wird das Script per Doppelklick gestartet, muss der Pfad der zu
    '***    bearbeitenden Bilder angegeben werden. Photoshop wird, falls noch 
    '***    nicht geschehen, automatisch gestartet.
    '*************************************************************************
     
    Option Explicit
    Dim appref, objShell, docref, strtRulerUnits, SaveOptions
    Dim datei, logo,i, rand_x, rand_y, Logopfad,qualitaet,quellpfad
    Dim fso, c, speichern_als,speicherpfad,datei2,zaehler,position, x1, x2, y1, y2
     
    '*********************************************************************
    '*********Anfang Eingabebereich***************************************
     
    Logopfad="C:\temp\logo.png" 'Pfad zur Logodatei
    rand_x=50           'Logoabstand vom vertikalen Bezugsrandand in Pixel
    rand_y=50           'Logoabstand vom horizontalen Bezugsrandand in Pixel
    speichern_als="jpg"     'in die Anführungszeichen entweder jpg oder psd eintragen
    qualitaet=8         'Speicherqualitaet für jpg angeben (1..12)
    quellpfad="C:\quellbilder"  'Wenn keine Bilder per Drag'nDrop auf das Script gezogen werden, werden alle Bilder aus diesem Ordner genutzt
     
    'Achtung! Hier den Speicherpfad angeben. Ohne Angabe werden die Bilder im Quellordner gespeichert und überschrieben
    speicherpfad=""     'Beispiel: speicherpfad="C:\temp" oder speicherpfad=""      
     
    '*********Ende Eingabebereich*****************************************
    '*********************************************************************
     
    Set objShell = WScript.CreateObject("WScript.Shell")
    Set appref = CreateObject("Photoshop.Application")
    Set logo = appref.Open (Logopfad)
    if speichern_als="jpg" Then
        Set SaveOptions= CreateObject("Photoshop.JPEGSaveOptions") 
        SaveOptions.Quality =qualitaet
    Else
        Set SaveOptions= CreateObject("Photoshop.PhotoshopSaveOptions")
    End If
    Do 
        position=InputBox ("Position eingeben:" & chr(13) & "   ur  - für unten rechts" & Chr(13) & "   um  - für unten mitte" _
                                                & Chr(13) & "   ul  - für unten links" & Chr(13) & "    or  - für oben rechts" _
                                                & Chr(13) & "   om  - für oben mitte" & Chr(13) & " ol  - für oben links" _
                                                , "Referenzseite","ur")
    Loop While pruefung(position)=False
        
    strtRulerUnits = appRef.Preferences.RulerUnits
    appref.Preferences.RulerUnits = 1
    logo.Selection.selectall
    logo.Selection.copy
    zaehler=0
    If WScript.Arguments.count<>0 Then 
        For i=0 To WScript.Arguments.count-1
            datei= wscript.arguments.item(i)
            Set docref=appref.open (datei)
            datei2=datei
            logoeinfuegen
            zaehler=zaehler+1
        Next
    Else
        Set fso = CreateObject("Scripting.FileSystemObject") 
        Set datei=fso.getfolder (quellpfad)
        For Each c In datei.Files
            Set docref=appref.Open (c.Path)
            datei2=c.path
            logoeinfuegen
            zaehler=zaehler+1
        Next
    End If
     
    sub logoeinfuegen()
        Select Case position
            Case "ur"
                x1=docref.Width -rand_x-logo.Width 
                y1=docref.Height - logo.Height -rand_y
                x2=x1+logo.Width 
                y2=y1+logo.Height 
            Case "um"
                x1=docref.Width/2 -logo.Width /2
                y1=docref.Height - logo.Height -rand_y
                x2=x1+logo.Width 
                y2=y1+logo.Height
            Case "ul"
                x1=rand_x
                y1=docref.Height - logo.Height -rand_y
                x2=x1+logo.Width 
                y2=y1+logo.Height
            Case "or"
                x1=docref.Width -rand_x-logo.Width 
                y1=rand_y
                x2=x1+logo.Width 
                y2=y1+logo.Height 
            Case "om"
                x1=(docref.Width -logo.Width )/2
                y1=rand_y
                x2=x1+logo.Width 
                y2=y1+logo.Height
            Case "ol"
                x1=rand_x
                y1=rand_y
                x2=x1+logo.Width 
                y1=y1+logo.Height
        End Select  
        docref.Selection.Select Array(Array(x1 , y1), Array(x2, y1), Array(x2, y2), Array(x1 , y2)), 1, 0, False
        docref.Paste True
        if speichern_als="jpg" Then docref.MergeVisibleLayers 
        If speicherpfad<>"" Then datei=speicherpfad Else datei=datei2
        docref.Saveas datei,SaveOptions, False
        docref.close
    End Sub
     
    logo.Close 
    appref.Preferences.RulerUnits = strtRulerUnits  
    Select Case zaehler
        Case 0
            MsgBox "Es wurden keine Bilder gefunden. Falscher Pfad angegeben?"
        Case 1
            MsgBox "Das Logo wurde in 1 Bild eingefügt." 
        Case 2
            MsgBox "Das Logo wurde in " & zaehler & " Bilder eingefügt."        
    End Select
     
    Function pruefung(position)
    Select Case position
        Case "ur"
                pruefung=True
            Case "um"
                pruefung=True
            Case "ul"
                pruefung=True
            Case "or"
                pruefung=True
            Case "om"
                pruefung=True
            Case "ol"
                pruefung=True
            Case 0
                WScript.quit
            Case Else 
                MsgBox "Ungültige Eingabe"
                pruefung=False
        End Select  
    End function
     

  4. #4
    BitMan BitMan ist offline Mitglied Gold
    Registriert seit
    Jan 2006
    Ort
    Eschweiler
    Beiträge
    189
    Danke erst mal!

    1. DAs mit dem Verschieben funktioniert auch nicht. Schon bei unterschiedlicher DPI wird das Logo nicht mehr in der Ecke platziert!

    2. Das Speichern unter abschalten macht keinen Sinn, nun speichert PS gar nix mehr
     

  5. #5
    BitMan BitMan ist offline Mitglied Gold
    Registriert seit
    Jan 2006
    Ort
    Eschweiler
    Beiträge
    189
    gefällt mir als Programmierer schon viel besser!

    1. Frage: wie aktiviere ich Scripting in PS 7.0?
    2. Wo finde ich eine Referenz der Photoshop spezifischen Befehle?
    3. Kann ich alle Fotoshop-Eigenschaften, Objekte und Methoden direkt ansteuern?
     

  6. #6
    hotschen hotschen ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    296
    1. Dieses Plugin installieren.
    2. Bei Adobe oder einfach nach "Photoshop Referenz Guide" suchen (Wer hätte das gedacht
    3. Jein. Nicht alles lässt sich ohne weiteres per Script realisieren, aber dafür gibts ja dann den ScriptListener.

    2 Einsteigertutorials zum Scripten findest du hier in der Tutorial-Sektion.
     

  7. #7
    Avatar von Philip Kurz
    Philip Kurz Philip Kurz ist offline Mr. Blue Sky
    tutorials.de Moderator
    Registriert seit
    Nov 2002
    Ort
    Berlin / New Orleans
    Beiträge
    2.458
    Blog-Einträge
    8
    Hm, mit dem "Ausrichten an Kanten" war ich wohl wirklich ein wenig zu schnell - jedenfalls hatte ich bis jetzt keine Chance es auszuprobieren.

    Das Speichern ohne Bestätigung müsste aber tadellos funktionieren bzw. es funktioniert. Hast du eventuell keinen "Speichern unter"- oder "Speichern"-Schritt in deiner Aktion?

    Hier im übrigen die beiden Tutorials von hotschen - von mir auch liebevoll "Mr. Photoshop-Script" genannt.

    Scripten mit Photoshop – Teil 1, Der Einstieg

    Scripten mit Photoshop – Teil 2, Das Script
     
    "Time flies like an arrow; fruit flies like a banana"

  8. #8
    Nils_H Nils_H ist offline Grünschnabel
    Registriert seit
    Aug 2007
    Beiträge
    1
    Hallo alle beisammen,
    ich habe ein ähnliches Problem darum poste ich es hierhinein.
    Es verhält sich praktich umgekehrt zu dem in Post 1 beschriebenen:

    Und zwar bleibt das Basis Bild identich, die eingefügten Bilder wechseln jedoch.


    Ablauf soll sein:

    Basis Bild ist offen
    1. einzufügendes Bild öffnen
    2. kopieren
    3. in offenes Bild einfügen
    4.bearbeiten
    5. für Web Speichern
    => soweit alles Ok.


    Problem:
    Bei dem weiteren Durchlauf (es sollen ca 30Bilder auf diese Weise bearbeitet werden, und immer wieder kommen Neue hinzu, Basis bleibt immer gleich) wird wieder das identische Bild eingefügt.

    Wie kann ich definieren das ein anderes, auf das vorherige,folgende Bild eingefügt werden soll?
    in der Aktion müsste also stehen:
    Öffnen
    -Datei/Ordner X


    statt
    Öffnen:
    -C: Dokumente..
    .

    ich hoffe ich konnte mich verständlich ausdrucken
     

  9. #9
    kerstinbrisbane kerstinbrisbane ist offline Grünschnabel
    Registriert seit
    Aug 2007
    Beiträge
    1
    Hey, hatte heute das gleiche Problem mit CS 2, ich weiß wie ich ein logo bzw. Copyright erstelle. Kann ich das aber auch für mehrere Bilder gleichzeitg übernehmen um nicht jedes einzelne damit versehen zu müssen?
    Danke kerst
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 04.01.05, 11:14
  2. Stapelverarbeitung+Aktionen Automatisieren
    Von swissman im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 02.11.04, 21:46
  3. [After FX] Aktionen, Stapelverarbeitung oder Ähnliches
    Von Tim C. im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 7
    Letzter Beitrag: 15.04.03, 23:20