Ошибка при попытке использовать изображение PIL в Pyglet - PullRequest
0 голосов
/ 29 декабря 2018

У меня есть функция, которая предназначена для генерации случайного звездного фона с использованием подушки, которая затем используется для использования в pyglet:

from pyglet.image.codecs.png import PILImageDecoder
from PIL import Image, ImageDraw
import pyglet
import random

def generate_stars(map_size):
    img = Image.new('RGB', map_size, color='black')
    draw = ImageDraw.Draw(img)
    for _ in range(3):
        for x in range(0, map_size[0] + 1, 3):
            for b in range(400, map_size[1] + 1, 400):
                y = random.randint(b - 400, b)
                draw.rectangle((x,y,x,y),fill='white')
    return pyglet.image.load(img, decoder=PILImageDecoder())

window = pyglet.window.Window(1280,800)
stars = generate_stars((1280,800))

Однако при выполнении этого я получаю ошибку:

Traceback (most recent call last):
  File "/Users/jonaskosinski/Desktop/Python/Game/main_loop.py", line 18, in <module>
    stars = generate_stars((1280,800))
  File "/Users/jonaskosinski/Desktop/Python/Game/main_loop.py", line 15, in generate_stars
    return pyglet.image.load(img, decoder=PILImageDecoder())
  File "/usr/local/lib/python3.7/site-packages/pyglet/image/__init__.py", line 180, in load
    file = open(filename, 'rb')
TypeError: expected str, bytes or os.PathLike object, not Image
...