//FFSubmenu=RAW
//FFName=Raw: Umwandlung nach tif und jpg mit "Xe847"
//***************************************************
// Namensanhängsel für die zu speichernden Dateien
// Standardeinstellung: "Bild.raw" wird als "Bild-ff.tif" und "Bild-ff.jpg" gespeichert
//***************************************************
// Namenszusatz für die zu speichernde JPG-Datei
var jpgNamenszusatz = "-ff";
// Namenszusatz für die zu speichernde TIFF-Datei
var tifNamenszusatz = "-ff";
var fso = new ActiveXObject("Scripting.FileSystemObject");
// Schleife über alle markierten Bilder
var imagenum = FF_GetImageCount();
for(var i = 0; i<imagenum ;i++) {
var path = FF_GetImageName(i);
var splitPath = SplitPath(path);
// Überspringen, was nicht nach Raw aussieht
if(splitPath.ext.toLowerCase() == ".jpg" ||
splitPath.ext.toLowerCase() == ".bmp" ||
splitPath.ext.toLowerCase() == ".png") {
continue;
}
// Bildname im Fortschrittsbalken anzeigen
FF_SetProgressText(i, imagenum, splitPath.file);
//***************************************************
// Raw-Bild laden und konvertieren.
//
// Der zweite Parameter ist eine Summe von
// 1 = Halbe Größe
// 2 = autom. Weißabgleich
// 4 = Kameraweißabgleich
// 8 = RGGB als 4 Farbe interpretieren
// 16 = Bild nach links drehen
// 32 = Bild nach rechts drehen
// 64 = Rauschunterdrückung
// 128 = Stuckpixelbeseitigung
//
// Bsp: "Automatischer Weißabgleich" + "RGGB als 4 Farbe interpretieren"
// + "Rauschunterdrückung" ->
// FF_LoadRawImage(path, 2 + 8 + 64, 2.0, 4.0, "")
//
// Die Parameter 3 und 4 sind nur bei aktiver Rauschunterdrückung (64) von Bedeutung (domain + range)
// Der letzte Parameter ist nur bei aktiver Stuckpixelbeseitigung (128) von Bedeutung (stuckfile)
//
// Vor V2.84 B42 gab es die Zusatzparameter noch nicht: FF_LoadRawImage(path, 4)
//
// Standardmäßig wird hier nur der Kameraweißabgleich verwendet:
//***************************************************
if (!FF_LoadRawImage(path, 4, 2.0, 4.0, "")) {
continue; // Raw-Konversion ist fehlgeschlagen, gehe zum nächsten Bild
}
//***************************************************
//***************************************************
// Bearbeitungen im 16-Bit-Modus
// standardmäßig wird hier Xe847 aufgerufen
//***** Ende der Raw-Konversion **************************
// Automatische Bildoptimierung mit Xe47
FF_Xe847Enhanced16(100, 100, 100, 100, 100, 0, 0, 0);
// Alternative 1: "Perfectly Clear"
//FF_PerfectlyClear16(true, true, 2, true, 95, true, 100, true, 100, true);
// Alternative 2: Kontrastautomatik
//FF_AutoContrast16();
// Alternative 3: Variante "Kuni"
// hier kommt eine leichte Aufhellung, die ich für meine Canon-CR2-Bilder
// brauche, um die Helligkeit eines Vergleichs-JPG zu erreichen
// FF_BrightUpDown16(595);
// Der S-Kontrast16 ist nötig, damit die Kamera-Kontrasteinstellung,
// die ich auf besonders gering gestellt habe, ein wenig kompensiert wird
// FF_SContrast16(0.65);
//***** Ende der 16-Bit-Bearbeitung************************
// Bild mit den obigen Korrekturen mit Namenszusatz als 16bit-Tiff speichern
FF_SaveImage16(splitPath.dir + splitPath.file + tifNamenszusatz + ".tif");
// Bild nach 8bit konvertieren
FF_Convert16();
//***************************************************
// Bearbeitungen im 8-Bit-Modus
// beispielsweise könnte man hier Schärfen.
//***************************************************
// volle Pulle Kanten schärfen
FF_SmartSharp(192, 16);
// Alternativ: Mittelstarkes 3D-Schärfen
// FF_3DSharp(70, 14);
// Auch 'ne Option: volle Pulle Schärfen durch Verformen
// FF_GeoSharp(512) ;
//***** Ende der 8-Bit-Bearbeitung*************************
// hier entsteht der neue Dateiname für das JPG
var outName = splitPath.dir + splitPath.file + jpgNamenszusatz + ".jpg";
// jetzt wird das JPG gespeichert
FF_SaveImage(outName, 97);
// Fortschritt melden
FF_SetProgress(i+1, imagenum)
}
// Zerteilt einen Bild-Dateinamen in sein Pfadbestandteile
function SplitPath(path) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var result = new Object();
result.dir = fso.GetParentFolderName(path) + "\\";
result.file = fso.GetBaseName(path);
result.ext = "." + fso.GetExtensionName(path);
return result;
}