Объясните, как в python на tkinter работать с png изображениями без фона

Рейтинг: -2Ответов: 1Опубликовано: 09.04.2023

Я работаю с проектом, загружаю .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

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()

введите сюда описание изображения