2009-06-22 4 views
4

소켓을 사용하여 서로 이미지를 보내고받는 프로그램이 있습니다. 서버가 'image.tostring()'을 사용하여 이미지 데이터를 보내면 클라이언트 측에서이를 수신하여 'Image.fromstring'을 사용하여 이미지로 변환 한 다음 'ImageQt.ImageQt (image)'를 사용하여 QImage로 변환합니다. 사용 qPixmap로 'QPixmap.fromimage (qimage)는'다음Pixmap을 사용하여 PyQt의 setPixmap()을 호출하면 "Python.exe"가 충돌합니다.

모든 것이 200x200 크기보다 큰 이미지, python.exe를 충돌로 작은 이미지와 잘 작동하지만 사용하여 내는 QWidget의 QLable의 이미지 'lable.setPixmap을 (qpixmap를)'업데이트 콘솔에는 "종료 코드 -1073741819로 종료 된 프로세스"만 표시되며 문제가 무엇인지 알려주지 않습니다.

나는 'setPixmap()'으로 문제를 격리했다. (다른 모든 것들은 주석으로 처리한다.) 문제는 무엇인지 알 수 없다.

이것은 클라이언트 측에서만 발생합니다. 서버 측에서는 Image에서 QImage, QPixmap, setPixmap까지 동일한 단계를 거치지 만 문제는 없습니다.

또한 QBitmap을 만들고 비트 맵에서 setPixmap을 사용하여 작업했으나 흑백으로 사용할 수 없습니다. 기묘한!

도움이 될 것입니다.

+0

해결 방법을 찾으셨습니까? 나는 현재 매우 비슷한 문제를 다루고있다. – TimothyAWiseman

+0

오류 0xC0000005 (16 진수)입니다, [여기] (http://compfreakstars.blogspot.com/2011/11/0xc0000005-error-every-day-many.html) 일부 솔루션입니다 – Aleksandar

답변

0

이미지 데이터를 파일로 덤핑하고 이미지 뷰어에로드하여 모든 데이터가 있는지 확인할 가치가 있습니다. 불완전한 데이터를 얻으면 여전히 QImage를 얻을 수 있고 QPixmap을 만들 수는 있지만 유효하지 않을 수 있습니다.

+0

제 경우에는 QPixmap 괜찮습니다 . (파일에 쓰는 것은 맞습니다.)하지만 setPixmap이 호출되면 Python은 여전히 ​​충돌합니다. – rd11