В твоём коде менялась прозрачность окна, а не изображения
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()
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()