2010-08-20 28 views
5

Aceptar. Estoy cansado de buscar en Google y leer toda la documentación sin resultados.dibujo en píxel en pyglet (python)

Mi objetivo es simple: obtener pyglet para dibujar una imagen píxel por píxel.

He estado buscando por horas sin resultados. ¿Alguien puede dar un ejemplo de un programa corto que dibuja en una pantalla que especifica el color píxel por píxel? Por ejemplo: dibujar un degradado de negro a blanco.

+0

¿Necesita usar pyglet? pygame haría esto mucho más fácil –

+0

@gnibbler: Sí, mi código fue escrito originalmente en pygame y funcionó (al menos en casa). Pero tenía que ejecutarlo en mi universidad y no podía hacer virtualenv para apoyar pygame ... Así que fui por pyglet –

Respuesta

6

Mientras se da cuenta de que esto va a tomar un largo ... tiempo:

pyglet.graphics.draw lata dibujado uno o más puntos cuando pasan pyglet.gl.GL_POINTS, y se puede pasar atributos tales como el color, así como coordenadas Por ejemplo:

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)) 
     ) 

dibuja un cuadrado de 50 por 50 con un gradiente diagonal de negro a blanco-ish. Simplemente no esperes que sea particularmente rápido para hacer eso ;-) - GL está realmente orientado a gráficos con un nivel de abstracción mucho más alto, no a la pintura "píxel por píxel".

Puede obtener un mínimo de velocidad extra computando (digamos) una fila a la vez, y dibujando eso, en lugar de dibujar píxeles en forma individual. ¡Pero aún así no será súper rápido! -)

+1

Gracias Alex! Estoy usando tu idea ya que estoy dibujando de esta manera en pixeles para la depuración. No es necesario un alto rendimiento. –

+1

@Manuel, de nada! –