# 14.8 `rgbimg` -- ``SGI RGB''ファイルを読み書きする

`rgbimg`モジュールはPythonプログラムが(.rgbとしても知られる)SGI imglib画像ファイルにアクセスできるようにします。モジュールは完全にはほど遠いが、場合によっては寿分といえる機能を持っているためとにかく提供されています。現在、カラーマップファイルがサポートされていません。

注意: このモジュールはデフォルトでは32ビットプラットホームでのみ構築されます。他のプラットホームで適切な動作をすることは期待できません。

モジュールは次の変数と関数を定義しています:

exception `error`
  例えば未サポートのファイル形式などのようなすべてのエラーに対してこの例外が発生します。

`sizeofimage`( | file)

  この関数はタプル`(x, y)`を返します。ここで、xとyは画素単位の画像の大きさです。4バイトRGBAピクセル、3バイトRGBピクセル、および、1バイトグレースケールピクセルが現在サポートされています。

`longimagedata`( | file)

  この関数は特定ファイルの画像を読み込んでデコードし、Python文字列としてそれを返します。その文字列は4バイトRGBピクセルです。左下のピクセルが文字列の先頭です。例えば、このフォーマットは`gl.lrectwrite()`へ渡すために適しています。

`longstoimage`( | data, x, y, z, file)

  この関数はdataのRGBAデータを画像ファイルfileへ書き込みます。xとyは画像の大きさを表します。セーブされた画像が1バイトのグレースケールの場合は、zは1です。セーブされた画像が3バイトのRGBデータの場合は3です。セーブされた画像が4バイトのRGBA データの場合は4です。入力画像は常にピクセル当たり4バイト含んでいます。`gl.lrectread()`が返すフォーマットがあります。

`ttob`( | flag)

  この関数はグローバルなフラグを設定します。そのフラグは画像のスキャン行が下から上に向かって読み込みや書き込みが行われるのか(フラグは0で、SGI GLと互換性があります)、あるいは上から下に向かって読み込みや書き込みがお壊れるのか(フラグは1で、Xと互換性があります)を定義します。デフォルトは、0です。