Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Прозначность окна в pyton, tkinter

Странный вопрос, но я хочу создать программу с помощью ИИ, суть программы это открытие изображения, и изменение его прозрачности, но ИИ не может сделать нормально прозрачность, а в программировании я 0, вот скрипт:




import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk

def open_image():
filepath = filedialog.askopenfilename(filetypes=[("Image files", "*.png *.jpg *.jpeg")])
if filepath:
show_image(filepath)

def show_image(imagefile):
new_window = tk.Toplevel(root)
new_window.title("Image Viewer")
image = Image.open (imagefile)
image = image.convert("RGBA")
image = ImageTk.PhotoImage(image)
label = tk.Label(new_window, image=image)
label.image = image
label.pack()

# Добавляем ползунок прозрачности
transparency_scale = tk.Scale(new_window, from_=0, to=255, orient="horizontal", label="Transparency", command=update_transparency)
transparency_scale.pack()

def update_transparency(value):
alpha = int(value)
root.attributes("-alpha", alpha / 255) # устанавливаем прозрачность окна

root = tk.Tk ()
root.geometry("300x300")

frame = tk.Frame(root)
frame.pack()

button = tk.Button(frame, text="Open Image", command=open_image)
button.pack()

root.mainloop()

По дате
По рейтингу
Аватар пользователя
Ученик

В твоём коде менялась прозрачность окна, а не изображения

12345678910111213141516171819202122232425262728293031323334353637383940414243
 import tkinter as tk  
from tkinter import filedialog  
from PIL import Image, ImageTk  
 
def open_image():  
    filepath = filedialog.askopenfilename(filetypes=[("Image files", "*.png *.jpg *.jpeg")])  
    if filepath:  
        show_image(filepath)  
 
def show_image(imagefile):  
    new_window = tk.Toplevel(root)  
    new_window.title("Image Viewer")  
 
    image = Image.open(imagefile)  
    image = image.convert("RGBA")  
 
     
    def update_transparency(value):  
        alpha = int(value)  
        image.putalpha(alpha)  
         
        new_image = ImageTk.PhotoImage(image)   
         
        label.config(image=new_image)   
        label.image = new_image  
         
    transparency_scale = tk.Scale(new_window, from_=0, to=255, orient="horizontal", label="Transparency", command=update_transparency)  
    transparency_scale.pack() 
 
    label = tk.Label(new_window, image=ImageTk.PhotoImage(image))  
    label.image = image 
    label.pack()  
 
root = tk.Tk ()  
root.geometry("300x300")  
 
frame = tk.Frame(root)  
frame.pack()  
 
button = tk.Button(frame, text="Open Image", command=open_image)  
button.pack()  
 
root.mainloop()