トップへ戻る Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform
pygame.image
    画像を変換するためのpygameモジュールです。

    このモジュールには画像を読み込んだり保存したりする機能が含まれており、pygameで使用されるSurfaceを他のプログラムモジュールでも使用できる形式に変換することもできます。

    pygameにはImageという名前のクラスはないので注意してください。;画像はSurfaceオブジェクトとして読み込まれます。この Surface クラスを使用することで、画像の描写でピクセル単位の編集、指定範囲の画像コピーといった様々な処理を行うことができます。

    Pygameのバージョンにもよりますが、この画像処理モジュールでは既定の画像ファイル以外の読み込みもサポートしています。既定では非圧縮のBMP画像のみしか読み込むことができません。Pygameが画像読み込みをフルサポートしているバージョンの場合は、pygame.image.load命令で下記の画像形式を読み込むことができます.

    • JPG
    • PNG
    • GIF (アニメーション形式はサポートしていません)
    • BMP
    • PCX
    • TGA (非圧縮形式のみサポートしています)
    • TIF
    • LBM (and PBM)
    • PBM (and PGM, PPM)
    • XPM

    画像の保存については、一部の形式しかサポートされていません。下記の画像形式で保存を行うことができます。

    • BMP
    • TGA
    • PNG
    • JPEG

    PNG形式、 JPEG形式での保存はpygameのバージョン1.8から新しく実装されました。



    pygame.image.load
      ファイルから画像を読み込みます。
      pygame.image.load(filename): return Surface
      pygame.image.load(fileobj, namehint=""): return Surface

      ソースとなるファイルから画像を読み込みます。引数には画像のファイル名か、Pythonの画像オブジェクトファイルを指定することができます。

      Pygameは読み込んだ画像ファイルの形式(GIFやBitmapなど)を自動的に識別し、そのデータからSurfaceオブジェクトを新規に作成します。 場合によってはファイルの拡張子(GIF形式ならファイル名の後ろにつく".gif")を知っておく必要があります。プログラム内で作成した画像オブジェクトを引数として設定する場合、namehint引数に元ファイル名を設定したほうが管理がしやすいでしょう。

      作成されたSurfaceは、読み込み元のファイルと同じカラー形式、透明色、透明度を持っています。引数を設定せずにSurface.convert命令を実行することにより、現在の描写環境に最適化された形式へ変換したコピーを作ることができます。

      透明度について、png形式の画像は読み込んだ後にconvert_alpha()を使用することで、ピクセル単位の透明度を持つ画像へ変換することができます。

      Pygameは全ての画像ファイルをサポートできるわけではありません。 少なくとも非圧縮形式のBMP形式はサポートしています。pygame.image.get_extended命令でTrueが返された場合は、(png形式、jpg形式、gif形式を含む)大抵のファイルは読み込むことができます。

      使用環境による互換性を保つためにも、階層の情報をつなげる場合は os.path.join()命令を使用するようにしましょう。

      dataフォルダ内にあるbla.pngファイルを読み込む例:
       asurf = pygame.image.load(os.path.join('data', 'bla.png'))
      


    pygame.image.save
      画像を保存します。
      pygame.image.save(Surface, filename): return None

      この命令によって、あなたが編集したSurfaceを BMPTGAPNGJPEGといった形式の画像に保存することができます。ファイルの拡張子が指定されていなかったり間違っていた場合は、既定でTGA形式の画像に保存されます。TGA形式、BMP形式で保存する場合は、両方とも非圧縮状態のファイルで保存されます。

      PNGJPEGでの保存はpygameのバージョン1.8から新たに実装されました。



    pygame.image.get_extended
      既定の画像ファイル以外も読み込むことができるか確認します。
      pygame.image.get_extended(): return bool

      このバージョンのpygameで既定の画像ファイル以外も読み込めるのであれば、この命令ではTrueが戻り値として返されます。どういった形式のファイルを読み込めるのかまでは判別できませんが、大抵の場合ほぼ全ての形式の画像ファイルを読み込むことができるでしょう。



    pygame.image.tostring
      画像を文字列形式の情報に変換します。
      pygame.image.tostring(Surface, format, flipped=False): return string

      画像から文字列形式の画像情報を作成します。この文字列画像情報は他のPython画像処理モジュールで使用する際に、'fromstring'命令を使用して画像データに戻すことができます。Pythonの画像処理モジュールには画像データを下から上へ保存する形式のものがあります(PyOpenGLなど)。 flipped 引数にTrueを設定すると、文字列画像情報の保存形式を上下反転させることができます。

      format引数には下記の文字の中から一つを選んで設定します。8bitのSurfaceでしか"P" を引数として設定できないので注意してください。他の引数は全てのSurfaceで設定することができます。 また、Python標準の画像処理命令ではPygameよりも多くの画像形式をサポートしていることも知っておいてください。

      • P, 8bit palettized Surfaces
      • RGB, 24bit image
      • RGBX, 32bit image with unused space
      • RGBA, 32bit image with an alpha channel
      • ARGB, 32bit image with alpha channel first
      • RGBA_PREMULT, 32bit image with colors scaled by alpha channel
      • ARGB_PREMULT, 32bit image with colors scaled by alpha channel, alpha channel first


    pygame.image.fromstring
      文字列形式の画像情報からSurfaceを新規に作成します。
      pygame.image.fromstring(string, size, format, flipped=False): return Surface

      この命令ではpygame.image.tostring命令とほぼ似たような流れで引数を設定します。size引数にはSurfaceの横幅と縦幅の情報を設定します。この命令でSurfaceを新規で作成したのであれば、元となった文字列形式のデータは破棄しても構わないでしょう。

      size引数とformat引数には、文字列形式画像情報の元画像と同じサイズやファイル形式を設定しなければなりません。違う値を設定すると例外が発生してしまいます。

      この命令よりも高速に画像変換処理ができるpygame.image.frombuffer命令にも目を通しておいてください。



    pygame.image.frombuffer
      文字列形式の画像情報からデータを読み取り、Surfaceを新規に作成します。
      pygame.image.frombuffer(string, size, format): return Surface

      文字列形式の画像情報から直接ピクセルデータを読み取り、Surfaceを新規に作成します。この命令は pygame.image.fromstringとほぼ同じ引数を設定しますが、ソース情報の上下反転は行うことができません。



トップへ戻る Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform