Итак, я хочу открыть изображение с помощью image = ImageTk.PhotoImage()
, и оно прекрасно работает с
image = ImageTk.PhotoImage(file="C:/Users/timol/PycharmProjects/Test1/haha.jpg")
Ранее в коде я сохранил путь к переменной, равной
def click():
file = askopenfilename(initialdir='C:/Users/%s')
directory = os.path.split(file)[0]
print(directory)
Теперь я хочу использовать путь, сохраненный в «директории», для ввода image = ImageTk.PhotoImage(file= "directory")
Но это просто дает мне много ошибок.
Если вам нужно знать, я хочу это сделать,потому что я хочу, чтобы пользователь позже мог загружать изображение и отображать / использовать в программе.
вот весь код:
`from tkinter import *
from PIL import ImageTk, Image, ImageDraw
import PIL
import os
from tkinter import filedialog
root = Tk()
root.title("Zahlenerfassung")
root.geometry("500x400")
topFrame = Frame(root)
topFrame.pack()
bottomFrame = Frame(root)
bottomFrame.pack(side=BOTTOM)
def create(): command=os.system("start "+"pepsi.txt")
#def click():
# Get the file
# file = askopenfilename(initialdir='C:/Users/%s')
# Split the filepath to get the directory
# directory = os.path.split(file)[0]
# print(directory)
def click():
image_file_location = filedialog.askopenfilename(initialdir="C:/Users/%s")
image = ImageTk.PhotoImage(file=image_file_location)
canvas.create_image(50, 50, image=image, anchor=NW)
button1 = Button(topFrame, text="Bild auswerten", fg="red")
button2 = Button(bottomFrame, text="Erstelle ein Bild", fg="blue", command=lambda: create())
button3 = Button(bottomFrame, text="Lade dein Bild hoch", fg="blue", command=lambda: click())
canvas = Canvas(width=200, height=200)
canvas.pack(expand=NO, fill=NONE)
button1.pack(side=LEFT)
button2.pack(side=LEFT)
button3.pack(side=LEFT)
one = Label(root, text="", fg="white")
one.pack(fill=BOTH, expand=TRUE)
root.mainloop()