Чтобы изменить размер изображения, передайте кортеж размером в пикселях:
img = Image.open("1.bmp").resize((640, 480))
Чтобы разместить изображение прямо над кнопками, вы можете использовать place.
tk.Label(root, image=photo_image).place(x=0,y=0) #change x and y to your desired value
Вы можететакже получите текущее местоположение вашего виджета кнопки, чтобы вычислить точное местоположение, где вам нужно place
ваш ярлык:
x,y = widget.winfo_x(), widget.winfo_y()
Чтобы подвести итог:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
root.geometry("500x500")
def place_image():
x, y = button1.winfo_x(), button1.winfo_y()
tk.Label(root, image=photo_image).place(x=x,y=y+20)
button1 = tk.Button(root,text="Click me",command=place_image)
button1.pack()
img = Image.open("1.bmp").resize((400, 300))
photo_image = ImageTk.PhotoImage(img)
root.mainloop()