我有我想用于二十一點游戲的所有 52 張卡片的 jpeg。這是我現在打開影像的代碼,但如果我要為每張卡片都這樣做,我將花費 200 多行。
ace = Image.open("filepath")
ace = ace.resize((50,75), Image.ANTIALIAS)
ace = ImageTk.PhotoImage(ace)
acelabel = Label(image = ace)
我嘗試使用如下回圈,但它實際上并沒有影響 ace 變數而是引發錯誤。
ace = Image.open("File Path")
card_deck = [ace]
for i in card_deck:
i = i.resize((50,75), Image.ANTIALIAS)
i = ImageTk.PhotoImage(i)
acelabel = Label(image = ace)
有沒有人有任何解決方案?
uj5u.com熱心網友回復:
您不需要做任何特別的事情,就像創建字串或數字或任何其他型別的物件一樣。它可能看起來像這樣:
cards = ["ace", "queen", "king", ...]
images = {}
labels = {}
for card_name in cards:
filename = f"{card_name}.png"
image = Image.open(filename)
image = image.resize((50, 75), Image.ANTIALIAS)
image = ImageTk.PhotoImage(image)
label = Label(image=image)
images[card] = image
labels[card] = label
然后,你可以參考的影像和標簽一樣images['ace'],labels['ace']等等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/393604.html
標籤:特金特
