2015-09-20 15 views
14

イメージファイルをPIL.Imageで読み込んだ後、イメージファイルがPNG/JPG/BMP/GIFであるかどうかをどのように判断できますか?私はこれらのファイル形式についてほとんど理解していません。PILはファイルヘッダからformatメタデータを取得できますか?あるいは、ファイル内のデータを「分析する」必要がありますか?PILで画像のフォーマットを取得する方法は?

PILがそのようなAPIを提供していない場合、Pythonライブラリはありますか?

答えて

27

試してみてください。

img = Image.open(filename) 
print(img.format) # 'JPEG' 

詳細情報

+1

私はこの属性があれば、単にファイルの拡張子である、または 'NONE'推測画像は生データで構築されます。私の場合、ファイル拡張子は常に利用可能なわけではありません。 – NeoWang

+3

推測しないでくださいが、ファイル形式がどのように決定されているかのドキュメントを参照してください。 PILが画像ファイルを読み取る場合、どのデコーダが使用されるかを選択しなければならず、この情報はformat属性によって公開されます。 –

+2

私はPILのソースを読んで、私は今確信しています。 – NeoWang

関連する問題