Объясните, как в python на tkinter работать с png изображениями без фона
Я работаю с проектом, загружаю .png изображение без фона, и в результате у меня изображение загружается с белым фоном, которого быть не должно.
Как это можно обойти? И если можно, то сверху ещё напишите, как можно изображение уменьшить, и без потерь качества. Вся работа должна выполнятся в Python на Tkinter!
А если надо, то вот код загрузки изображения + изображение:
img = Image.open("Images/Earth.png")
earrth = ImageTk.PhotoImage(img)
earth = Label(self, image=earrth)
earth.image = earrth
earth.place(x=x+w/4, y=200)
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
user21548574, пожалуйста, ВСЕГДА предоставьте минимально-воспроизводимый пример, который демонстрирует проблему.
Попробуйте так:
from tkinter import *
from PIL import ImageTk, Image
root = Tk()
root.geometry("1100x500")
root['bg'] = 'grey' # +++
img = Image.open("Earth.png")
earrth = ImageTk.PhotoImage(img)
earth = Label(root, image=earrth)
earth.grid(row=0, column=0)
img2 = Image.open("Earth.png")
earrth2 = ImageTk.PhotoImage(img2)
earth2 = Label(root, image=earrth2)
earth2.config(bg="grey") # +++
earth2.grid(row=0, column=1)
canvas = Canvas(root, width=600, height=500,
bg="grey", highlightthickness=0) # +++
canvas.grid(row=0, column=2,
padx=10, pady=10, ipadx=0, ipady=0,)
image = Image.open("Earth.png")
tkimage = ImageTk.PhotoImage(image)
canvas_obj = canvas.create_image(220, 250, image=tkimage)
root.mainloop()

