使用 Pyglet 加载图像

Mik*_*uto 5 opengl pyglet image-loading python-3.x

我在玩 pyglet 1.2alpha-1 和 Python 3.3。我有以下(非常简单的)应用程序,但无法弄清楚我的问题是什么:

import pyglet

window = pyglet.window.Window()
#image = pyglet.resource.image('img1.jpg')
image = pyglet.image.load('img1.jpg')
label = pyglet.text.Label('Hello, World!!',
                      font_name='Times New Roman',
                      font_size=36,
                      x=window.width//2, y=window.height//2,
                      anchor_x='center', anchor_y='center')

@window.event
def on_draw():
    window.clear()
    label.draw()
    #    image.blit(0,0)

pyglet.app.run()
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,只要将 image.blit(0, 0) 注释掉,我的文本标签就会出现。但是,如果我尝试显示图像,程序会因以下错误而崩溃:

  File "C:\Python33\lib\site-packages\pyglet\gl\lib.py", line 105, in errcheck
raise GLException(msg)
pyglet.gl.lib.GLException: b'invalid value'
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用 pyglet.resource.image 而不是 pyglet.image.load (图像和 py 文件在同一目录中),我也会收到上述错误。

有谁知道我该如何解决这个问题?

我使用的是 Python 3.3、pyglet 1.2alpha-1 和 Windows 8。

Rol*_*ion 3

代码 - 包括 image.blit - 对我来说运行良好。我使用的是 python 2.7.3, pyglet 1.1.4 代码没有任何问题。您可以考虑暂时尝试其他 python 和 pyglet 版本(直到 pyglet 有新的稳定版本)