ImageReader / ImageWriter

ImageWriter(clip, string "path", int "begin", int "end", string "format")
ImageReader(string "path", int "begin", int "end", int "fps", bool "use_DevIL")

ImageWriter (verfügbar mit beschränkter Funktion seit AviSynth v2.51, voll funktionsfähig seit AviSynth v2.52) schreibt Frames aus einem Clip als Bilder auf die Festplatte.

path ist der Verzeichnispfad + Dateiname der zu speichernden Bilder, Standard ist "c:\". format ist das Bildformat (siehe unten für die unterstützten Formate). Die Bilder haben Dateiname wie folgt: [path]000000.[format], [path]000001.[format], usw. .

Die möglichen Werte für format sind:
*bmp, dds, ebmp*, jpg/jpe/jpeg, pal, pcx,
*png, pbm/pgm/ppm, raw, sgi/bw/rgb/rgba, tga, tif/tiff

begin und end schließen den Framebereich ein, der gespeichert wird. Der Standardwert für beide ist 0 (wobei end=0 ein offenes Ende bedeutet).

Der Farbraum der Quelle muss RGB24 sein für alle Formate außer "ebmp", welches alle Farbräume unterstützt (RGB32, RGB24, YUY2, YV12). Die gespeicherten "ebmp" Dateien, die aus einer RGB Quelle stammen, sind normale BMP Dateien, die aus einer YUV Quelle stammen, können womöglich nur mit AviSynth's ImageReader gelesen werden.

ImageReader ist verfügbar seit AviSynth v2.52 und ersetzt WarpEnterprises' Plugin.

file: Name der Bilddatei(en), wobei man die Frames mit der sprintf Syntax durchnummerieren kann. Zum Beispiel können die Dateien, die von ImageWriter's Standard Parametern erzeugt werden, mit "C:\%06d.ebmp" gelesen werden.

start, end: Falls ein Frame, der nicht in diesem Bereich ist, gefordert wird, wird ein schwarzer Frame wiedergegeben und es wird kein Bild geladen. end=0 bedeutet NICHT, dass bis zum Ende gelesen wird wie bei ImageWriter. Die erste Datei (entspricht der ersten Datei von file) MUSS existieren, damit die Bildeigenschaften korrekt gelesen werden.

fps: Frames pro Sekunde des Ziel-Clips. Da nur Integer-Werte erlaubt sind, werde ich vielleicht noch einen Dezimalterm hinzufügen, falls dieser unbedingt notwendig ist.

use_devil: Wenn auf false gesetzt, wird versucht, die erste Datei als EBMP zu lesen. Ist dies nicht möglich wird automatisch zu DevIL gewechselt. Wenn auf true gesetzt, wird direkt mit DevIL gelesen. Man wird dies nur brauchen, wenn man BMP Dateien nicht mit ImageReader's eingebauten (E)BMP Parser lesen will.

Der Ziel-Videoclip ist in RGB24, wenn DevIL verwendet wurde, ansonsten in dem Farbraum, in dem die EBMP Dateien waren (alle AviSynth Farbräume werden unterstützt).

Bekannter Fehler: komprimierte Bildformate werden verkehrt herum gelesen von DevIL.

Beispiele:

# Schreibt Frame 100 in "D:\000000.BMP":
ImageWriter("C:\", 100, 100, "BMP")

# Liest Bilder von 0 bis 1000 (bei 24 fps):
ImageReader("C:\", 0, 1000, 24, false)