使用tkinter.Canvas 实现粒子发光效果

 笔记:2023.2.14 21.19

from tkinter import Canvas,Tk

def use_rgb(rgb):
    rgb = str(rgb)
    RGB = rgb.replace('(', '').replace(")", '').split(',')
    color = '#'
    for i in RGB:
        num = int(i)
        # 将R、G、B分别转化为16进制拼接转换并大写 hex() 函数用于将10进制整数转换成16进制,以字符串形式表示
        color += str(hex(num))[-2:].replace('x', '0')
    return color

top = Tk()
canvas = Canvas(top,width=1000,height=800,bg="#000000")
canvas.pack()
n=100    # 粒子横坐标
size = 10    # 粒子大小
rgb2 = (0,0,0)
rgb1 = (255,255,128)
a1, a2, a3, b1, b2, b3 = rgb1[0], rgb1[1], rgb1[2], rgb2[0], rgb2[1], rgb2[2]
r, g, b = (b1 - a1), (b2 - a2), (b3 - a3)
for i in range(size):
    x1 = 100 + i
    y1 = 100
    t = (x1 - 100) / size
    rgb = (int(a1 + r * t), int(a2 + g * t), int(a3 + b * t))
    canvas.create_oval(n-i,n-i,n+i,n+i,width=2,outline=use_rgb(rgb))

top.mainloop()

从亮黄色渐变到背景色,不断的画圆,并计算圆的颜色

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值