2011-11-10 24 views
1

wxPythonに「いくつかの」例がないようです。Windows上でwxPythonを使用してBMPファイルを読み込む方法は?

私のWindows上では動作しません。次のコードを持っている:

import wx 
wx.InitAllImageHandlers() # calling it doesn't make any difference 
print wx.Image("sample.bmp") # also tried with type=wx.BITMAP_TYPE_ANY 

返される値はNoneであり、私も警告を見ることができます:Warning: No handler found for image type.

は、私は2番目を追加しようとしましたそれは事を変えないと思われる。

+1

奇妙なことに、WXドキュメントでは、BMPハンドラは常に利用可能であると言います。 mspaintに 'sample.bmp'を問題なくロードできると思いますか? –

+0

それはペイントに読み込まれ、ペイントでイメージを開いて保存します。また、サイズが変わっても読み込まれません。 – sorin

答えて

2

おそらくwx.Appが最初に作成されている必要があります。

import wx 

app = wx.App(False) 
print wx.Image("wallpaper.bmp") 
+0

'wx.InitAllImageHandlers()'が正しく動作していないバグがあります。 'wx.App'はハンドラも初期化します。しかし、誰も気付かなかったかもしれませんが、そういう使い方は珍しいです。 – Fenikso

+0

ええと、ドキュメントは次のように言っています:InitAllImageHandlers() - InitAllImageHandersの以前の機能は、現在、\ _core \ _拡張モジュールの内部で行われているので、この関数は単純なNOPになりました。 – Fenikso

+0

これはwxPythonが非常に時間がかかることを意味し、pythonicライブラリではありません。今度は2/3の画像をロードし、そのうちの1つで無効な画像について苦情を言いますが、同じ画像が4つの異なるアプリケーションで問題なくロードされます。 – sorin

関連する問題