4

ソケットを使用して画像を相互に送受信するプログラムがあります。サーバーは「image.tostring()」を使用して画像データを送信し、クライアント側はそれを受信して​​「Image.fromstring」を使用して画像に戻し、「ImageQt.ImageQt(image)」を使用して QImage に変換します。 「QPixmap.fromimage(qimage)」を使用してQPixmapに変換し、「lable.setPixmap(qpixmap)」を使用してQWidgetのQLableの画像を更新します

小さな画像ではすべて正常に動作しますが、200x200 を超える画像では python.exe がクラッシュし、コンソールには「プロセスが終了コード -1073741819 で終了しました」と表示されるだけで、何が問題なのかわかりません。

問題を 'setPixmap()' に切り分けました (それをコメントアウトする限り、他のすべてが機能します) が、問題が何であるかわかりません。

これはクライアント側でのみ発生します。サーバー側では、Image から QImage、QPixmap、次に setPixmap へと同じ手順を使用しますが、問題はありません。

また、それをQBitmapにして、ビットマップでsetPixmapを使用しようとしましたが、うまくいきました(ただし、白黒なので使用できません)。変!

どんな助けでも大歓迎です!

4

1 に答える 1

0

画像データをファイルにダンプし、画像ビューアーにロードしてすべてのデータがあることを確認する価値がある場合があります。不完全なデータを取得した場合でも、QImage を取得して QPixmap を作成することはできますが、無効になる可能性があります。

于 2009-07-12T15:07:26.683 に答える