Bildfilter


Wenn alle Bilder im aktuellen Computerverzeichnis bearbeitet werden sollen, werden möglicherweise auch nicht zur Bearbeitung geeignet Bilder, z.B. RAW-Dateien geladen.
Der Bildfilter sorgt dafür, dass nur erwünschte Bildformate bearbeitet werden.

VBScript
Option Explicit
Dim ListeBilder,n
const Bildfilter = ".JPG.JPEG.JP2.PNG.TIF.BMP"
 
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
 
call Bearbeitung
'------------------------------------------------------------------------
Sub Bearbeitung
'Bearbeitung der gefilterten Bilder im aktuellen Computerverzeichnis

ListeBilder = split(FF_GetSelection(0), vbNewLine)
for n = 0 to ubound(ListeBilder)
    if instr(Bildfilter,"." & ucase(fso.GetExtensionName(ListeBilder(n)))) > 0 then
        '### gefiltertes Bild laden mit FF_LoadImage ListeBilder(n)
        '### Bild bearbeiten - wie auch immer
        '### bearbeitetes Bild speichern mit FF_SaveImage Bildname,Qualitaet
    else
        msgbox ListeBilder(n),vbExclamation,"Bild entspricht nicht dem Filter!" '### kann natürlich entfallen
    end if
next
End Sub
'------------------------------------------------------------------------
Set fso = Nothing

Um das Format einer Bilddatei zu bestimmen, kann alternativ ab FixFoto-Version 3.10 der Befehl FF_IdentifyImage verwendet werden.
Dazu ersetzt man die Zeile
    if instr(Bildfilter,"." & ucase(fso.GetExtensionName(ListeBilder(n)))) > 0 then
durch
    if FF_IdentifyImage(ListeBilder(n)) > 0 and FF_IdentifyImage(ListeBilder(n)) < 7 then
Die Konstante Bildfilter, Dim fso und Set fso sind dann natürlich überflüssig.