我需要创建可以在画布上缩放的半透明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。