
:mod:`imgfile` --- SGI imglib ファイルのサポート
================================================

.. module:: imgfile
   :platform: IRIX
   :synopsis: SGI imglib ファイルのサポート。
   :deprecated:


.. deprecated:: 2.6
    :mod:`imagefile` モジュールは Python 3.0 での削除に向けて非推奨になりました。


:mod:`imgfile` モジュールは、Python プログラムが SGI imglib 画像ファイル
(:file:`.rgb` ファイルとしても知られています) にアクセスできるようにします。
このモジュールは完全なものにはほど遠いですが、その機能\
はある状況で十分役に立つものなので、ライブラリで提供されています。
現在、カラーマップ形式のファイルはサポートされていません。

このモジュールでは以下の変数および関数が定義されています:


.. exception:: error

   この例外は、サポートされていないファイル形式の場合のような全てのエラーで\
   送出されます。


.. function:: getsizes(file)

   この関数はタプル ``(x, y, z)`` を返します。
   *x* および *y* は画像のサイズをピクセルで表したもので、 *z*
   はピクセルあたりのバイト長です。3 バイトの RGB ピクセルと 1 バイトの\
   グレイスケールピクセルのみが現在サポートされています。


.. function:: read(file)

   この関数は指定されたファイル上の画像を読み出して復号化し、
   Python 文字列として返します。この文字列は 1 バイトのグレイスケールピクセルか、4
   バイトの RGBA ピクセルによるものです。
   左下のピクセルが文字列中の最初のピクセルになります。これは :func:`gl.lrectwrite`
   に渡すのに適した形式です。


.. function:: readscaled(file, x, y, filter[, blur])

   この関数は read と同じですが、 *x* および *y* のサイズにスケールされた画像を返します。
   *filter* および *blur*
   パラメタが省略された場合、単にピクセルデータを捨てたり複製したりする\
   ことによってスケール操作が行われるので、処理結果は、特に計算機上で\
   合成した画像の場合にはおよそ完璧とはいえないものになります。

   そうする代わりに、スケール操作後に画像を平滑化するために用いる\
   フィルタを指定することができます。サポートされているフィルタの形式は\
   ``'impulse'`` 、 ``'box'`` 、 ``'triangle'`` 、 ``'quadratic'`` 、および ``'gaussian'``
   です。フィルタを指定する場合、 *blur* はオプションのパラメタで、フィルタの\
   不明瞭化度を指定します。標準の値は ``1.0`` です。

   :func:`readscaled` は正しいアスペクト比をまったく維持しようと\
   しないので、それはユーザの責任になります。


.. function:: ttob(flag)

   この関数は画像のスキャンラインの読み書きを下から上に向かって行う
   (フラグがゼロの場合で、SGI GL 互換です) か、上から下に向かって行う
   (フラグが 1 の場合で、X 互換です) かを決定する大域的なフラグを設定します。
   標準の値はゼロです。


.. function:: write(file, data, x, y, z)

   この関数は *data* 中の RGB またはグレイスケールのデータを画像ファイル
   *file* に書き込みます。 *x* および *y* には画像のサイズを与え、
   *z* は 1 バイトグレイスケール画像の場合には 1 で、RGB 画像の場合には 3
   (4 バイトの値として記憶され、下位 3 バイトが使われます) です。
   これらは :func:`gl.lrectread` が返すデータの形式です。

