## ImageReader / ImageSource

`ImageReader` (string "file", int "start", int "end", float "fps", bool "use_DevIL", bool "info", string "pixel_type")
`ImageSource` (string "file", int "start", int "end", float "fps", bool "use_DevIL", bool "info", string "pixel_type")

`ImageReader` は、v2.52 から内蔵されています。WarpEnterprises のプラグイン*1の後継にあたり、いくつかの小さな機能性の変更が行われています。v2.55 の時点で、`ImageSource` はいくつかの小さな機能性の変更をともなった同等物です。画像を 1 枚インポートするときは、`ImageReader` より `ImageSource` の方が高速です。

file: 画像ファイル用のテンプレート。sprintf のシンタックスを使って、フレーム番号に置換される文字列を指定することができます。例えば、`ImageWriter` のデフォルトのパラメータによって書き出されたファイルは、`"c:\%06d.ebmp"` で参照することができます。v2.56 現在、テンプレートが単一のファイルを指す場合、そのファイルが一回読み込まれ、つづいてリクエストされるすべてのフレームに対して返されます。

start （デフォルト 0）、 end （デフォルト 1000）: ファイル名の生成に使用される開始番号と終了番号を指定します。start に対応するファイルはつねにクリップにおけるフレーム 0 で、end に対応するファイルはフレーム (end-start) です。生成されるクリップは、(end-start+1) 枚のフレームを持ちます。「end=0」は、``ImageWriter`` のように「上限なし」を意味しません*2。シークエンスにおける最初のファイル、すなわち「start」に対応するファイルは、clip パラメータが算出されるために存在する必要があります。シークエンスの中で不足しているファイルは、空のフレームに置換されます。

fps （デフォルト 24）: 返却されるクリップの 1 秒あたりのフレーム数。v2.55 より前のバージョンでは整数値。

use_DevIL （デフォルト false）: false の場合、まず内部パーサを使って (E)BMP ファイルのパースが試行されます。失敗するとすぐに DevIL*3 による処理が実施されます。true の場合、すぐに DevIL による処理にスキップします。``ImageReader`` の内部パーサによって読み込まれたくない BMP ファイルがある場合にのみ、これを使用する必要があります。

注: Avisynth に同梱されている DevIL バージョン 1.6.6 は、パレットを使用する DIB/BMP*4 タイプのファイルを正しくサポートしていません。これには、8 ビット RGB、モノクロ、RLE8 と RLE4*5 が含まれます。この失敗はつねに壊滅的なため、バージョン 2.5.6 からは、内部の BMP 処置は自動的に DevIL にフェイルオーバー*6しません。これらのファイルタイプに対して DevIL による処理を強制することは、現在のところ、推奨されません。

info （デフォルト false）: true の場合、ソースファイル名が各ビデオフレーム上にオーバーレイされます（v2.55 で追加）。

pixel_type （デフォルト "RGB24"）: 出力ピクセルフォーマットの指定を可能にします。RGB24 と RGB32 の両方がサポートされています。アルファチャンネルは、RGB32 で、かつ、読み込まれた画像フォーマットに関して DevIL がアルファチャンネルをサポートしている場合にのみ読み込まれます（v2.56 で追加）。

DevIL が使用された場合、生成されるビデオクリップの色空間は RGB です。DevIL が使用されなかった場合は、EBMP のシークエンスが書き出される元になった色空間です（すべての AviSynth フォーマットがサポートされます）。

    # デフォルトのパラメータ: AviSynth が元々備えている
    # 1000 フレームの  EBMP シークエンスを（24fps で）読み込む
    ImageSource()

    # "100.jpeg" から "199.jpeg" までを
    # NTSC 方式のクリップに読み込む。
    ImageSource("D:\%d.jpeg", 100, 199, 29.97)
    # 注: v2.56 から浮動小数点数の fps が利用可能

    # AviSynth 内蔵の BMP リーダーを使わずに
    # "00.bmp" から "50.bmp" までを読みとる
    ImageSource("D:\%02d.bmp", end=50, use_DevIL=true)

    # 単一の画像を読み込んで、300 回繰り返す
    ImageSource("D:\static.png", end=300)
    # v2.56 からさらに高速に

* 「EBMP」は、YUY2 と YV12 の RAW 画像データの保存を可能にする、標準的な Microsoft RIFF 画像フォーマットの AviSynth 拡張です。詳細は、ImageWriter を参照してください。

`原文 Date: 2007/05/17 20:56:14`
`日本語訳 $Date: 2008/06/22 07:41:14 $`

- 訳者註:
  - *1 ImageSequence プラグインのこと。
  - *2 ImageWriter のマニュアルには、「end=0 means last frame（end=0 は最終フレームを意味する）」とあります。詳しくは、ImageWriter を参照。
  - *3 クロスプラットフォームの画像ライブラリ。Developer's Image Library の略。参考: www.imagelib.org - DevIL - A full featured cross-platform Image Library
  - *4 参考: BMP形式（Wndows DIB）
  - *5 Run-Length Encoding（連長圧縮）の略。RLE8 は 8 ビット圧縮（256 色）、RLE4 は 4 ビット圧縮（16 色）。参考: 連長圧縮 - Wikipedia, ASCII24 - アスキー デジタル用語辞典 - Run-Lengthエンコーディング
  - *6 参考: フェイルオーバーとは 【fail over】 - 意味・解説 ： IT用語辞典