为什么 pyglet 无法显示我的图片?

问题描述 投票:-1回答:1

我正在使用最新的pyglet,但在显示图片时遇到了极大的麻烦。我已经将我的代码精简到最基本的部分,但结果让我很困惑。

import pyglet

pyglet.resource.path.append('Assets')
pyglet.resource.reindex()

look = pyglet.resource.image('skybox0.jpg')
print('image size',(look.width, look.height))

window = pyglet.window.Window(800, 600, caption='check my Cube Maps')

@window.event
def on_draw():
    window.clear
    look.blit(0,0)
    return

pyglet.app.run()

事情是这样的。

image size (256, 197)
Traceback (most recent call last):
 File "C:/Python/Python36/Dhruve and me/Pyglet/skybox look.py", line 19, in <module>
   pyglet.app.run()
 File "C:\Python\Python36\lib\site-packages\pyglet\app\__init__.py", line 107, in run
   event_loop.run()
 File "C:\Python\Python36\lib\site-packages\pyglet\app\base.py", line 167, in run
   timeout = self.idle()
 File "C:\Python\Python36\lib\site-packages\pyglet\app\base.py", line 243, in idle
   window.dispatch_event('on_draw')
 File "C:\Python\Python36\lib\site-packages\pyglet\window\__init__.py", line 1333, in dispatch_event
   if EventDispatcher.dispatch_event(self, *args) != False:
 File "C:\Python\Python36\lib\site-packages\pyglet\event.py", line 408, in dispatch_event
   if handler(*args):
 File "C:/Python/Python36/Dhruve and me/Pyglet/skybox look.py", line 16, in on_draw
   look.blit(0,0)
 File "C:\Python\Python36\lib\site-packages\pyglet\image\__init__.py", line 1614, in blit
   glInterleavedArrays(GL_T4F_V4F, 0, array)
 File "C:\Python\Python36\lib\site-packages\pyglet\gl\lib.py", line# 107, in errcheck
   raise GLException(msg)
pyglet.gl.lib.GLException: None

图片恰好是一个天空盒,用windows资源管理器查看时显示正常。我使用的是windows10和python36。

python image display pyglet
1个回答
0
投票

非常感谢你的建议--把.clear改成.clear()就能完美地工作了。

© www.soinside.com 2019 - 2024. All rights reserved.