+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Ist meine Aktionenabfolge sinnvoll?

  1. #1
    TP-Member Kamasutra macht alles soweit korrekt Avatar von Kamasutra
    Registriert seit
    Feb 2004
    Ort
    Ruhrpott
    Beiträge
    81

    Ist meine Aktionenabfolge sinnvoll?

    Hallöchen,

    vor ein paar Tagen fragte ich, wie ich den Puzzleteile möglichst automatisch ausschneiden kann. Prizipiell klappt das jetzt, ich möchte euch aber gerne einmal meine Schritte beschreiben und eure Meinung dazu hören. Vielleicht kann man das ja noch irgendwie vereinfachen.

    Die Ebene mit dem Bild habe ich "motiv" benannt. Darüber liegen die Ebenen mit den einzelnen Puzzleteilen, die ich der Übersicht halber durchnummeriert habe. In der Aktionenpalette habe ich einen Ordner "Puzzle" angelegt und dort dann die Schritte aufgenommen, die da waren:

    die Umgebung des Puzzleteils eins mit dem Zauberstab auswählen
    Auf die Motivebene zurück
    Auswahl umkehren
    strg+c
    strg+n
    return
    strg+v
    Ebeneneffekt anlegen
    für web speichern (teil_0.gif) im Ordner "Test"
    schließen
    Dasselbe dann mit dem zweiten Teil usw.

    Je nach Puzzlegröße dauert das natürlich ganz schön lange. Uff. :-)

    Wenn ich diese Aktion jetzt für ein anderes Bild anwenden möchte, muss ich die dessen Ebene wieder in "motiv" umbenennen und den "Test"-Ordner freiräumen, da es ja sonst Probleme mit dem Abspeichern gibt. Was ich nicht weiß ist, ob man vielleicht auf einfache Art und Weise einen anderen Ordner definieren kann. Oder ob ich dazu das Ganze ganz anders hätte abspeichern müssen. Oder vielleicht sowieso alles viel zu umständlich gemacht habe. :-)

    Grüße...
    Kamasutra

  2. #2
    TP-Senior hotschen bringt sich richtig ein hotschen bringt sich richtig ein
    Registriert seit
    Feb 2002
    Beiträge
    141
    Das lässt sich (mehr oder weniger) einfach über ein Script lösen. Dazu müsste man allerdings erstmal wissen, wie die Puzzle.psd aufgebaut ist bzw. sind die einzelnen Ebenen transparent (abgesehen vom Puzzleteil natürlich) oder schwarz/weiss oder ...?

  3. #3
    TP-Member Kamasutra macht alles soweit korrekt Avatar von Kamasutra
    Registriert seit
    Feb 2004
    Ort
    Ruhrpott
    Beiträge
    81
    Sie sind transparent. Jede Ebene ist einfach passend positioniert, damit es - sind alle Ebenen sichtbar - ein Gesamtpuzzle ergibt. Darunter positioniere ich dann entsprechend das Motiv.

    Inwiefern meinst du Script?
    Kamasutra

  4. #4
    TP-Senior hotschen bringt sich richtig ein hotschen bringt sich richtig ein
    Registriert seit
    Feb 2002
    Beiträge
    141
    Mit Script meine ich ein Javascript oder VBScript. Läuft aber nur mit PS CS oder mit PS7 mit Scriptunterstützungsplugin.

  5. #5
    TP-Senior hotschen bringt sich richtig ein hotschen bringt sich richtig ein
    Registriert seit
    Feb 2002
    Beiträge
    141
    -Kopiere nachfolgenden Code in eine neue Textdatei und Speichere sie als "puzzle.vbs"
    -passe die Pfade im Code deinen Dateien an
    -In deiner Puzzle.psd dürfen sich nur die Puzzle-Ebenen befinden, keine Hintergrundebene.
    -das Ausgangsbild sollte die gleiche Grösse wie die Puzzle.psd haben, anderenfalls wird es dementsprechend angepasst

    hier der Code:
    Code:
    'Anmerkungen:
    
    'Der Pfad zur Puzzle-Datei und zum Ausgangsbild muss ersetzt werden
    'Der AusgabePfad muss ersetzt werden
    
    
    Dim appref
    Set appref = CreateObject("Photoshop.Application")
    Dim docref
    '***************************************************************
    bild="c:\bild.jpg"	'Hier den Pfad für das Ausgangsbild eingeben
    '***************************************************************
    Set docref = appref.Open(bild)
    dim startRulerUnits
    startRulerUnits=appRef.Preferences.RulerUnits
    appref.Preferences.RulerUnits =5
    '****************************************************************
    puz_dat = "c:\Puzzle.psd" 'Hier den Pfad zur Puzzledatei eingeben
    '****************************************************************
    dim puzzle
    Set puzzle = appref.Open(puz_dat)
    dim docneu
    Set docneu = appref.Documents.Add(puzzle.Width, puzzle.Height, puzzle.Resolution, , puzzle.Mode)
    docneu.ArtLayers.Add
    docneu.BackgroundLayer.Delete
    
    appref.ActiveDocument = docref
    With puzzle
    	If docref.Width <> .Width Or docref.Height <> .Height Then
      		docref.ResizeImage .Width, .Height, .Resolution, 4
    	End If
    End With
    docref.Selection.SelectAll
    docref.Selection.Copy
    appref.ActiveDocument = puzzle
    With puzzle
      .ActiveLayer = puzzle.ArtLayers(1)
      .Paste
      anz = .ArtLayers.Count
    End With
    
    
    
    For i = anz To 2 Step -1
      appref.ActiveDocument = puzzle
      puzzle.ActiveLayer = puzzle.ArtLayers(i)
    DIM objApp
    SET objApp = CreateObject("Photoshop.Application")
    DIM dialogMode
    dialogMode = 3
    DIM id18
    id18 = objApp.CharIDToTypeID( "setd" )
        DIM desc5
        SET desc5 = CreateObject( "Photoshop.ActionDescriptor" )
        DIM id19
        id19 = objApp.CharIDToTypeID( "null" )
            DIM ref3
            SET ref3 = CreateObject( "Photoshop.ActionReference" )
            DIM id20
            id20 = objApp.CharIDToTypeID( "Chnl" )
            DIM id21
            id21 = objApp.CharIDToTypeID( "fsel" )
            Call ref3.PutProperty( id20, id21 )
        Call desc5.PutReference( id19, ref3 )
        DIM id22
        id22 = objApp.CharIDToTypeID( "T   " )
            DIM ref4
            SET ref4 = CreateObject( "Photoshop.ActionReference" )
            DIM id23
            id23 = objApp.CharIDToTypeID( "Chnl" )
            DIM id24
            id24 = objApp.CharIDToTypeID( "Chnl" )
            DIM id25
            id25 = objApp.CharIDToTypeID( "Trsp" )
            Call ref4.PutEnumerated( id23, id24, id25 )
        Call desc5.PutReference( id22, ref4 )
    Call objApp.ExecuteAction( id18, desc5, dialogMode )
    
      With puzzle
          .ActiveLayer = puzzle.ArtLayers(1)
          .Selection.Copy
      End With
      appref.ActiveDocument = docneu
      With docneu
          Set currenthistory = docneu.HistoryStates(4)
          .Paste
          .Trim 0
    '************************************************************
          pfad = "C:\temp\"   'Ausgabeverzeichnis hier eintragen. Achtung!!! Vorhandene Dateien werden überschrieben
    '************************************************************
          puzzle_neu = pfad & "Puzzle Teil" & i - 1 & ".psd"
          .SaveAs puzzle_neu
          .ActiveHistoryState = currenthistory
      End With
    Next
    docneu.Close 2
    puzzle.selection.deselect
    appRef.Preferences.RulerUnits=startRulerUnits
    ich weiss, ist nicht grad der sauberste Programmierstil, aber es funktioniert. (Bei mir jedenfalls)

  6. #6
    TP-Specialist PeterBrand hilft, wo's geht PeterBrand hilft, wo's geht PeterBrand hilft, wo's geht Avatar von PeterBrand
    Registriert seit
    Aug 2001
    Ort
    Graz
    Beiträge
    2.863
    Zum Script kann ich nix sagen, aber...

    Zitat Zitat von Kamasutra
    die Umgebung des Puzzleteils eins mit dem Zauberstab auswählen
    Auf die Motivebene zurück
    Das kann vereinfacht werden.
    Du bleibst immer in der Motivebene und statt des Zauberstabes klickst Du einfach bei gedrückter Strg-Taste in die Ebene (im Ebenenfenster) des Puzzlesteines
    Freedom for Mars!


  7. #7
    TP-Member Kamasutra macht alles soweit korrekt Avatar von Kamasutra
    Registriert seit
    Feb 2004
    Ort
    Ruhrpott
    Beiträge
    81
    Ach Peter, du bist ein Schatz. :-x :-)

    Ich mache ja schon jede Menge mit Kürzeln, aber bei vielen weiß ich nicht mal, dass es sie gibt. Kann man denn z. B. bei PS 6.0 einen Ebenenstil per Tastenkombination wiederholen? So wie strg+f für den letzten Effekt, den man anwandte. Das wäre super praktisch. Oder wenigstens mit so einem Kürzel das entsprechende Fenster aufrufen.


    Marco: Das mit dem Script ist total lieb von dir, aber ich habe Photoshop 6.0, und da läuft es ja wohl nicht.

    Ich bin aber auch mit dieser Verarbeitung zufrieden. Da habe ich richtig viel gelernt bei. :-)

    Danke auf jeden Fall euch beiden.
    Kamasutra

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

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