import tkinter as tkfrom PIL import ImageTkImage_al = _white = _black = stop = 0boss = Trueblack = Truedef init global black window canvas window = tkTk windowtitle五子棋 windowgeometry850x60
可以使用PIL库中的ImageTk和Image来加载图片并在canvas上显示。
步骤如下:
-
导入PIL库中的ImageTk和Image模块。
-
使用Image模块中的open()方法打开图片,得到一个Image对象。
-
使用ImageTk模块中的PhotoImage()方法将Image对象转换为PhotoImage对象。
-
在canvas上使用create_image()方法添加图片。
修改后的代码如下:
import tkinter as tk from PIL import ImageTk, Image
al = [] _white = [] _black = [] stop = 0 boss = True black = True
def init(): global black, window, canvas
window = tk.Tk()
window.title('五子棋')
window.geometry('850x600') # ()内写*报错
# 加载背景图片
img = Image.open('bg.jpg') # 打开图片
img = img.resize((850, 600), Image.ANTIALIAS) # 调整图片尺寸
bg = ImageTk.PhotoImage(img) # 将Image对象转换为PhotoImage对象
canvas = tk.Canvas(window, height=600, width=850)
canvas.create_image(0, 0, anchor='nw', image=bg) # 在canvas上添加背景图片
for i in range(1, 16):
line = canvas.create_line(i * 40, 20, i * 40, 580)
line = canvas.create_line(40, i * 40 - 20, 600, i * 40 - 20)
rect = canvas.create_rectangle(35, 15, 605, 585) # 边框
rect = canvas.create_rectangle(34, 14, 606, 586) # 加粗
oval = canvas.create_oval(157, 137, 163, 143, fill='black')
oval = canvas.create_oval(157, 457, 163, 463, fill='black')
oval = canvas.create_oval(477, 137, 483, 143, fill='black')
oval = canvas.create_oval(477, 457, 483, 463, fill='black')
oval = canvas.create_oval(315, 296, 325, 304, fill='black')
canvas.pack()
init() window.mainloop(
原文地址: https://www.cveoy.top/t/topic/fDoi 著作权归作者所有。请勿转载和采集!