@SamKnight

Как сделать картинки с прозрачным фоном в методе random.choice Python?

Я начал учить и на первой задачке сел в лужу. Помогите ее решить, кто разбирается.

У меня есть код-игра в кости, где кости добавляются случайным образом. Но через этот метод png картинка добавляется с серым фоном.

from tkinter import *
import random, time

def bros():
    x = random.choice(['1.png', '2.png', '3.png', '4.png', '5.png', '6.png'])
    return x

def img(event):
    global b1, b2
    for i in range(15):
        b1 = PhotoImage(file=(bros()))
        b2 = PhotoImage(file=(bros()))
        lab1['image'] = b1
        lab2['image'] = b2
        root.update()
        time.sleep(0.15)


root = Tk()
root.geometry('800x532')
root.title('Кто пойдет за джином')
root.resizable(height=False, width=False)
root.iconphoto(True, PhotoImage(file=('icon.png')))
font = PhotoImage(file=('font.png'))
Label(root, image=font).pack()
lab1 = Label(root)
lab1.place(relx=0.3, rely=0.5, anchor=CENTER)
lab2 = Label(root)
lab2.place(relx=0.7, rely=0.5, anchor=CENTER)
root.bind('<1>', img)
img('event')
root.mainloop()


Вычитал, что PIL и его ImageTK помогают с этим. Пробовал прописать вот так - x = random.choice(PIL.ImageTk.PhotoImage(['1.png', '2.png', '3.png', '4.png', '5.png', '6.png'])), но вылазят ошибки. Что я делаю не так и как мне сделать правильно?
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 1
@alexbprofit
Junior SE
x = [PIL.ImageTk.PhotoImage(name) for name in photos]

y = random.choice(x)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы