2015-01-21 2 views
0

У меня есть приложение python 3.3, которое визуализирует структуру с использованием PyOpenGL. У него есть функция сохранения чертежа в файле изображения.PyOpenGL: ошибка glPixelStorei в приложении cx_freeze

def save_image(self, filename): 
    glPixelStorei(GL_PACK_ALIGNMENT, 1) 
    data = glReadPixelsui(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE) 
    ... 

Он отлично работает, пока я не создаю автономное приложение для Windows с использованием cx_freeze. Затем я получаю следующее сообщение об ошибке:

File "C:\mmpe\programming\python\h2-visualization\gui\StructureVisualizationWidget.py", line 97, in save_image 
    data = glReadPixelsui(0, 0, self.width, self.height, GL_RGB, GL_UNSIGNED_BYTE) 
File "C:\WinPython-64bit-3.3.3.2\python-3.3.3.amd64\lib\site-packages\OpenGL\GL\images.py", line 253, in glReadPixels 
    imageData 
ctypes.ArgumentError: argument 7: <class 'TypeError'>: No array-type handler for type <class 'ctypes.c_void_p'> (value: c_void_p(198443072)) registered 

я получаю ту же ошибку, если извлечь файл library.zip и запустить его с помощью обычного python.exe

ответ

0

я должен был явно включать в себя:

OpenGL.arrays.ctypesparameters 

в дистрибутиве cx_freeze

Смежные вопросы