Tkinter PhotoImage Put方法的透明度(在画布上)

我需要创建可以在画布上缩放的半透明1x1图像。 当前,对于每个可能的alpha值,我都有一个充满了预渲染透明图像的目录,但是我想避免这种情况。

此外,我不能使用标准库以外的任何内容-这是用于学校项目的,并且计算机没有管理员权限(不能使用PIP)。

使用PhotoImage,可以创建空白图像并将像素放置在所需的坐标中,但是,当指定使用的颜色时,我不知道如何传递alpha值。 Tcl Tk文档(https://www.tcl.tk/man/tcl8.7/TkCmd/photo.htm#M53)指出您可以用颜色指定alpha值。

据我了解,alpha值为0.5的红色看起来像这样:#ff0000@0.5

这是我现在拥有的代码:

import tkinter as tk

root = tk.Tk()

canvas = tk.Canvas(root,width = 500,height = 500,bg = "black",highlightthickness = 0)
canvas.pack()

image = tk.PhotoImage(width = 1,height = 1)
image.put("#ff0000@0.5",(0,0))
image = image.zoom(30)

canvas.create_image(
    0,image = image,anchor = "nw"
)

root.mainloop()

我可以使用put方法在Tkinter的PhotoImage中放置透明像素/区域吗? 我不能使用PIL。

mexiaoping 回答:Tkinter PhotoImage Put方法的透明度(在画布上)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3034817.html

大家都在问