+ Antworten
Ergebnis 1 bis 11 von 11

Thema: Stapelverarbeitung

  1. #1
    TP-Junior Kerstin83 macht alles soweit korrekt
    Registriert seit
    Aug 2006
    Beiträge
    7

    Stapelverarbeitung

    Liebes Forum,

    ich habe eine riesen Menge Ordner, in denen eine riesen Menge Fotos sind. Diese Fotos haben eine riesige Auflösung. Deswegen soll ich sie etwas verkleinern.

    Das wollte ich gerne mit der Stapelverarbeitung machen, sonst brauche ich dafür mehrere Jahre. Dann muss ich aber die Stapelverarbeitung auf jeden einzelnen Ordner anwenden. Kann man die Stapelverarbeitung auch auf eine Ordnerstruktur anwenden, so dass man am Ende eine Kopie der Ordner mit den verkleinerten Fotos hat?

    Zusatzfrage:
    Ich soll allen Fotos auf der längeren Seite eine Auflösung von 600 Pixeln geben. Die Fotos sind zum Teil hochkant, zum Teil quer. Bei den einen müsste ich also eine Breite von 600 Pixel einstellen, bei den anderen müsste die Höhe 600 Pixel sein. Gibt es eine Möglichkeit, dass Photoshop das erkennt ?

    Der Sinn der Aktion ist, dass die Fotos auf unserem Server gesichtet werden sollen und dafür weniger Platz benötigen. Vielleicht kann man das ja auch ganz anders machen.

    Liebe Grüße

    Kerstin

  2. #2
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Schau Dir das hier mal an.
    Je nach PS Version musst Du die JavaScript Datei noch entsprechend nach dem dort folgenden Posting bearbeiten.
    Die Größe der Ausgabegrafiken muss man auch im Script einstellen.
    Zu der Sache mit den Unterordnern, siehe Anhang.
    Angehängte Grafiken  
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  3. #3
    TP-Junior Kerstin83 macht alles soweit korrekt
    Registriert seit
    Aug 2006
    Beiträge
    7
    vielen Dank.

    Ich habe die Datei Thumbnailer jetzt runtergeladen. Hört sich ja gut an die Beschreibung. Aber, was mache ich genau damit? Wie binde ich das in Photoshop ein?

    Ich habe übrigens Photoshop CS3.

    Liebe Grüße

  4. #4
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Was Du damit machst habe ich doch dort alles beschrieben.
    CS3 ... dann musst Du wohl das "app." im Script löschen.
    Zumindest musste ich es in CS2 machen, da es sonst zu einem Scriptfehler kam.
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  5. #5
    TP-Junior Kerstin83 macht alles soweit korrekt
    Registriert seit
    Aug 2006
    Beiträge
    7
    Jetzt wo dus sagst, hats geklappt. Ich musste noch nicht mal was löschen.

    Allerdings hab ich noch 3 Fragen:

    1. Wie passe ich das Programm an. (Pixelzahl und so)? / Womit öffne ich das Skript am besten?

    2. Kann ich die Ordnerstruktur irgendwie übernehmen? (bei mir hat er alle Bilder in einen Zielordner getan, die Unterordner gehen verloren)

    3. Bei jedem Bild, das gespeichert werden soll kommt eine Nachfrage nach den jpg-Optionen (Komprimierung...). Kann man das einmal einstellen, so dass es für alle gilt?


    Liebe Grüße

    Kerstin

  6. #6
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    1. Kannst Du mit jedem Texteditor machen.

    2. Nein, die Ordnerstruktur kann man leider nicht übernehmen. Zumindest ist mir da nichts bekannt.

    3. Das liegt daran, dass die Aktion keinen Speicherschritt hat. Wenn Du die Aktion erweiterst, also einen Speicherschritt aufnimmst und dann in der Stapelverarbeitung sagst, dass der Speichern unter Schritt nicht ausgeführt werden soll.
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  7. #7
    TP-Senior hotschen bringt sich richtig ein hotschen bringt sich richtig ein
    Registriert seit
    Feb 2002
    Beiträge
    141
    Zitat Zitat von webcreate Beitrag anzeigen
    2. Nein, die Ordnerstruktur kann man leider nicht übernehmen. Zumindest ist mir da nichts bekannt.
    Doch, über Umwege gehts.
    Hab mein Script aus diesem Thread mal demenstsprechend angepasst. (Habs allerdings noch nicht ausgiebig testen können, von daher ist Feedback immer gern gesehen)

    PHP-Code:

    function main()    {
        var 
    filterAr = new Array ('tif','jpg','psd','png','gif'); 
        var 
    source=new Folder (dlg.pan_folder.txt_qellpfad.text);
        var 
    target=new Folder (dlg.pan_folder.txt_zielpfad.text);
        var 
    allFiles=source.getFiles();
        
    getImages(source,allFiles.length); 
        for (var 
    i=0i<imageFiles.length;i++)    { 
            
    dlg.info2.text="laden..."
            
    dlg.info.text="Bild "+(i+1)+"/"imageFiles.length
            var 
    docref=app.open(imageFiles[i]);
            
    dlg.info2.text="resize..."
            
    resizeDoc (docref,dlg.pan_opt.txt_breite.text*1,dlg.pan_opt.txt_hoehe.text*1); 
            
    dlg.info2.text="speichern..."
            if (
    dlg.pan_opt.pan_save.rb_psd.value==true) { 
               
    save_PSD(docref); 
            }    else { 
               
    save_JPG(docref); 
            } 
            
    docref.close(SaveOptions.DONOTSAVECHANGES); 
        } 
        
    dlg.info2.text="Fertig!"


    function 
    getImages(SFolder,l)    {
        var 
    filterAr = new Array ('tif','jpg','psd','png','gif'); 
         var 
    TFilesSFolder.getFiles();
           for (var 
    0TFiles.lengthi++)  {
            if (
    TFiles[i] instanceof Folder) {
                
    TFolder=dlg.pan_folder.txt_zielpfad.text+TFiles[i].fullName.replace(dlg.pan_folder.txt_qellpfad.text,"");
                
    Folder(TFolder).create();
                
    getImages(TFiles[i],TFiles.length);
            }
            var 
    dotPos TFiles[i].name.lastIndexOf"." );  
            if (
    dotPos 1) continue;  
            var 
    process false;  
            
    fExtLc TFiles[i].name.substring(dotPos+1).toLowerCase();  
            for (var 
    0filterAr.lengthy++)  
            {  
            
    process =(filterAr[y] == fExtLc);  
            if (
    process == true) break;  
            }  
            if (
    process == false) continue;  
            
    imageFiles.push(TFiles[i]);  
        }
    }


    function 
    resizeDoc(doc,toX,toY)    { 
    //    nur verkleinern 
        
    if (dlg.pan_opt.rb_small.value==true)    { 
            if (
    doc.width>toX || doc.height>toY)    { 
                if (
    doc.width/toX doc.height/toY)    { 
                    
    doc.resizeImage(toX,undefinedundefinedResampleMethod.BICUBIC); 
                }    else    { 
                    
    doc.resizeImage(undefined,toYundefinedResampleMethod.BICUBIC); 
                }     
            } 
        } 
         
    //     nur vergrössern     
        
    if (dlg.pan_opt.rb_big.value==true)        { 
            if (
    doc.width<toX || doc.height<toY)    { 
                if (
    doc.width/toX doc.height/toY)    { 
                    
    doc.resizeImage(toX,undefinedundefinedResampleMethod.BICUBIC); 
                }    else    { 
                    
    doc.resizeImage(undefined,toYundefinedResampleMethod.BICUBIC); 
                }     
            }         
        } 
         
    //    beides 
        
    if (dlg.pan_opt.rb_both.value==true)    { 
            if (
    doc.width/toX doc.height/toY)    { 
                
    doc.resizeImage(toX,undefinedundefinedResampleMethod.BICUBIC); 
            }    else    { 
                
    doc.resizeImage(undefined,toYundefinedResampleMethod.BICUBIC); 
            }             
        } 
             


    function 
    save_JPG(doc)    { 
        if(
    doc.mode != "RGB"doc.changeMode(ChangeMode.RGB); 
        
    saveOptions = new JPEGSaveOptions();  
        
    saveOptions.embedColorProfile true;  
        
    saveOptions.formatOptions FormatOptions.STANDARDBASELINE;  
        
    saveOptions.matte MatteType.NONE;  
        
    saveOptions.quality dlg.pan_opt.pan_save.txt_qualitaet.text;
        
    doc.flatten(); 
         var 
    saveFile=doc.fullName.toString();
         
    saveFile=new File (saveFile.replace(dlg.pan_folder.txt_qellpfad.text,dlg.pan_folder.txt_zielpfad.text));
        
    doc.saveAs(saveFile,saveOptions,falseExtension.LOWERCASE); 


    function 
    save_PSD(doc)    { 
        if(
    doc.mode != "RGB"doc.changeMode(ChangeMode.RGB); 
        
    psdSaveOptions = new PhotoshopSaveOptions();  
        
    psdSaveOptions.embedColorProfile true;  
        
    psdSaveOptions.alphaChannels true;   
         
    saveFile=new File (saveFile.replace(dlg.pan_folder.txt_qellpfad.text,dlg.pan_folder.txt_zielpfad.text));
        
    doc.saveAs(saveFilepsdSaveOptionstrueExtension.LOWERCASE);     



    //Variablen 
    var strtRulerUnits app.preferences.rulerUnits
    app.preferences.rulerUnits Units.PIXELS
    var 
    imageFiles = new Array;
    var 
    inputFolder
    var 
    outputFolder

    //GUI 
    var res="dialog{text:'Resize by hotschen',bounds:[100,100,460,370],\
            pan_folder:Panel{bounds:[10,10,350,95] , text:'Ordnerauswahl ' ,properties:{borderStyle:'etched',su1PanelCoordinates:true},\
                statictext0:StaticText{bounds:[10,22,70,39] , text:'Quellpfad:' ,properties:{scrolling:undefined,multiline:false}},\
                statictext1:StaticText{bounds:[10,52,60,69] , text:'Zielpfad:' ,properties:{scrolling:undefined,multiline:false}},\
                txt_qellpfad:EditText{bounds:[70,20,290,40] , text:'' ,properties:{multiline:false,noecho:false,readonly:false}},\
                btn_quellpfad:Button{bounds:[300,20,330,40] , text:'...' },\
                btn_zielpfad:Button{bounds:[300,50,330,70] , text:'...' },\
                txt_zielpfad:EditText{bounds:[70,50,290,70] , text:'' ,properties:{multiline:false,noecho:false,readonly:false}}\
            },\
            pan_opt:Panel{bounds:[10,110,350,230] , text:'Einstellungen ' ,properties:{borderStyle:'etched',su1PanelCoordinates:true},\
                rb_small:RadioButton{bounds:[10,50,111,71] , text:'Nur verkleinern',value:true },\
                rb_big:RadioButton{bounds:[10,70,111,91] , text:'Nur vergrössern' },\
                rb_both:RadioButton{bounds:[10,90,190,111] , text:'Vergrössern und verkleinern' },\
                statictext3:StaticText{bounds:[10,22,70,42] , text:'Zielgrösse:' ,properties:{scrolling:undefined,multiline:false}},\
                txt_breite:EditText{bounds:[70,20,110,40] , text:'800' ,properties:{multiline:false,noecho:false,readonly:false}},\
                statictext4:StaticText{bounds:[111,22,121,39] , text:'x' ,properties:{scrolling:undefined,multiline:false}},\
                txt_hoehe:EditText{bounds:[120,20,160,40] , text:'600' ,properties:{multiline:false,noecho:false,readonly:false}},\
                statictext5:StaticText{bounds:[160,20,180,37] , text:'px' ,properties:{scrolling:undefined,multiline:false}},\
                pan_save:Panel{bounds:[200,10,330,111] , text:'Speicheroptionen' ,properties:{borderStyle:'etched',su1PanelCoordinates:true},\
                    rb_psd:RadioButton{bounds:[20,20,121,41] , text:'PSD', value:true },\
                    rb_jpg:RadioButton{bounds:[20,40,121,61] , text:'JPG' },\
                    slider:Slider{bounds:[20,80,121,90] , minvalue:1,maxvalue:12,value:10,visible:false},\
                    statictext9:StaticText{bounds:[20,62,70,79] , text:'Qualität' ,visible:false,properties:{scrolling:undefined,multiline:false}},\
                    txt_qualitaet:EditText{bounds:[80,60,110,80] , text:'10' ,visible:false,properties:{multiline:false,noecho:false,readonly:false}}\
                }\
            },\
            info:StaticText{bounds:[20,232,120,250] , text:'' ,properties:{scrolling:undefined,multiline:false}},\
            info2:StaticText{bounds:[20,252,120,270] , text:'' ,properties:{scrolling:undefined,multiline:false}},\
            btn_ok:Button{bounds:[130,240,230,260] , text:'Los gehts' },\
            btn_cancel:Button{bounds:[250,240,350,260] , text:'Abbrechen' }\
    };"


    //GUI-Funktionen 
    var dlg=new Window (res); 
    dlg.btn_ok.onClick=function()    { 
        
    main(); 
    }; 
    dlg.btn_cancel.onClick =function () {  
         
    app.preferences.rulerUnits strtRulerUnits
        
    this.parent.close(2); 
    }; 
    dlg.pan_folder.btn_quellpfad.onClick=function()    { 
        
    inputFolderFolder.selectDialog("Quellverzeichnis auswählen"); 
        
    dlg.pan_folder.txt_qellpfad.text inputFolder.toString()+"/"
    }; 
    dlg.pan_folder.btn_zielpfad.onClick=function()    { 
        
    outputFolderFolder.selectDialog("Zielverzeichnis auswählen").toString(); 
        
    dlg.pan_folder.txt_zielpfad.text outputFolder.toString()+"/"
    }; 
    dlg.pan_opt.pan_save.slider.onChange=function()    { 
        
    dlg.pan_opt.pan_save.txt_qualitaet.text=this.value

    dlg.pan_opt.pan_save.rb_jpg.onClick=function()    { 
        
    dlg.pan_opt.pan_save.txt_qualitaet.visible=this.value
        
    dlg.pan_opt.pan_save.slider.visible=this.value
        
    dlg.pan_opt.pan_save.statictext9.visible=this.value

    dlg.pan_opt.pan_save.rb_psd.onClick=function()    { 
        
    dlg.pan_opt.pan_save.txt_qualitaet.visible=!this.value
        
    dlg.pan_opt.pan_save.slider.visible=!this.value
        
    dlg.pan_opt.pan_save.statictext9.visible=!this.value

    dlg.center(); 
    dlg.show(); 

    Gruß hotschen
    Gruß hotschen

  8. #8
    TP-Junior Kerstin83 macht alles soweit korrekt
    Registriert seit
    Aug 2006
    Beiträge
    7
    vielen Dank für das Skript. Ich habe es mal ausprobiert und es als JavaSkript in Photoshop eingebunden.
    Das Skript startet auch und es kommt das Fenster in dem Quellordner etc abgefragt werden, dann bleibt es aber hängen. Ich glaube, die Dateien werden geöffnet, aber nicht richtig angezeigt und auch nicht gespeichert. Woran kann das liegen.

    Liebe Grüße

  9. #9
    TP-Senior hotschen bringt sich richtig ein hotschen bringt sich richtig ein
    Registriert seit
    Feb 2002
    Beiträge
    141
    Welche PS-Version hast du?
    Gruß hotschen

  10. #10
    TP-Junior Kerstin83 macht alles soweit korrekt
    Registriert seit
    Aug 2006
    Beiträge
    7
    ich hab die Version CS3 für Mac

  11. #11
    TP-Senior hotschen bringt sich richtig ein hotschen bringt sich richtig ein
    Registriert seit
    Feb 2002
    Beiträge
    141
    Kann u.U. sein, dass einige Dateioperationen in JS nicht mit nem MAC kompatibel sind. Kann das aber leider nicht testen.
    Gruß hotschen

+ 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