
:mod:`imghdr` --- 画像の形式を決定する
======================================

.. module:: imghdr
   :synopsis: ファイルやバイトストリームに含まれる画像の形式を決定する。


:mod:`imghdr` モジュールはファイルやバイトストリームに含まれる画像の形式を決定します。

:mod:`imghdr` モジュールは次の関数を定義しています:


.. function:: what(filename[, h])

   *filename* という名前のファイル内の画像データをテストし、画像形式を表す文字列を返します。
   オプションの *h* が与えられた場合は、 *filename* は無視され、テストするバイトストリームを含んでいると *h* は仮定されます。

以下に :func:`what` からの戻り値とともにリストするように、次の画像形式が認識されます:

+------------+-----------------------------------+
| Value      | Image format                      |
+============+===================================+
| ``'rgb'``  | SGI ImgLib Files                  |
+------------+-----------------------------------+
| ``'gif'``  | GIF 87a and 89a Files             |
+------------+-----------------------------------+
| ``'pbm'``  | Portable Bitmap Files             |
+------------+-----------------------------------+
| ``'pgm'``  | Portable Graymap Files            |
+------------+-----------------------------------+
| ``'ppm'``  | Portable Pixmap Files             |
+------------+-----------------------------------+
| ``'tiff'`` | TIFF Files                        |
+------------+-----------------------------------+
| ``'rast'`` | Sun Raster Files                  |
+------------+-----------------------------------+
| ``'xbm'``  | X Bitmap Files                    |
+------------+-----------------------------------+
| ``'jpeg'`` | JPEG data in JFIF or Exif formats |
+------------+-----------------------------------+
| ``'bmp'``  | BMP files                         |
+------------+-----------------------------------+
| ``'png'``  | Portable Network Graphics         |
+------------+-----------------------------------+

.. versionadded:: 2.5
   Exif の検出.

この変数に追加することで、あなたは :mod:`imghdr` が認識できるファイル形式のリストを拡張できます:


.. data:: tests

   個別のテストを行う関数のリスト。それぞれの関数は二つの引数をとります:
   バイトストリームとオープンされたファイルのようにふるまうオブジェクト。
   :func:`what` がバイトストリームとともに呼び出されたときは、ファイルのようにふるまうオブジェクトは ``None`` でしょう。

   テストが成功した場合は、テスト関数は画像形式を表す文字列を返すべきです。あるいは、失敗した場合は ``None`` を返すべきです。

例::

   >>> import imghdr
   >>> imghdr.what('/tmp/bass.gif')
   'gif'

