pixelwise drawing in pyglet (python)

后端 未结 1 952
庸人自扰
庸人自扰 2021-02-06 07:19

OK. I\'m tired of googling and reading throught lots of documentation with no results.

My aim is simple: get pyglet to draw an image pixel by pixel.

I\'ve been s

相关标签:
1条回答
  • 2021-02-06 08:09

    As long as you realize this is going to take a long time...:

    pyglet.graphics.draw can drawn one or more points when you pass it pyglet.gl.GL_POINTS, and you can pass attributes such as color as well as coordinates. For example:

    for i in range(50):
        for j in range(50):
            color = int(2.56 * (i + j))
            pyglet.graphics.draw(1, pyglet.gl.GL_POINTS,
                ('v2i', (i, j)),
                ('c3B', (color, color, color))
            )
    

    draws a 50 by 50 square with a diagonal gradient from black to white-ish. Just don't expect it to be particularly fast at doing that;-) -- GL is really oriented to graphics with much higher level of abstraction, not "pixel by pixel" painting.

    You could get a modicum of extra speed by computing (say) a row at a time, and drawing that, instead of actually drawing pixels singly. But it still won't be super-fast!-)

    0 讨论(0)
提交回复
热议问题