Поскольку никто не дал по-настоящему хорошего ответа на этот вопрос.
Я поставлю один здесь:
import pyglet
from random import randint
width, height = 500, 500
window = pyglet.window.Window(width=width, height=height)
image = pyglet.image.SolidColorImagePattern((255,255,255,255)).create_image(width, height)
data = image.get_image_data().get_data('RGB', width*3)
new_image = b''
for i in range(0, len(data), 3):
pixel = bytes([randint(0,255)]) + bytes([randint(0,255)]) + bytes([randint(0,255)])
new_image += pixel
image.set_data('RGB', width*3, new_image)
@window.event
def on_draw():
window.clear()
image.blit(0, 0)
pyglet.app.run()
По существу, это создает белое изображение, которое само по себе может бытьнарисовано в окне.Но учитывая, что мы хотим сделать putpixel
, я изменил каждый пиксель на белом изображении в качестве демонстрации.
Может использоваться в сочетании с:
Который можно использовать для дальнейшей оптимизации изображения.