I have a tk.Label
object with an image (via tk.Label(self.root,image='image.png')
) and want to add a color filter to it, i.e. make the image more red. How can I do that?
Advertisement
Answer
You can modify the image with PIL, and save it as a new file. In Tkinter, you can use PhotoImage(file="file.png")
to use the image as a button:
# importing image object from PIL from PIL import ImageOps, Image import PIL.Image # creating an image object img = Image.open(r"test.png").convert("L") # image colorize function img = ImageOps.colorize(img, black="red", white="white") # save the image as new.png img.save("new.png") from tkinter import * root = Tk() # set the img1 variable as the image we just created img1 = PhotoImage(file="new.png") b = Button(image=img1) b.pack() root.mainloop()