将两个pygame颜色对象混合在一起

2024-05-03 05:50:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何将两个pygame.Color对象混合在一起,但在广泛的研究后找不到解决方案。
我已经创建了两个pygame.Color对象,并希望创建一个新对象,其颜色值是两种颜色混合在一起

import pygame

white = pygame.Color(255, 255, 255)
red = pygame.Color(255, 0, 0)

#If I want to blend white and red with the option of how much dominace each should have what code would I write

1条回答
网友
1楼 · 发布于 2024-05-03 05:50:11

使用^{}函数对给定颜色进行线性插值

white = pygame.Color(255, 255, 255)
red = pygame.Color(255, 0, 0)

pink = white.lerp(red, 0.5)

最简单的例子:

import pygame

pygame.init()
window = pygame.display.set_mode((500, 100))
clock = pygame.time.Clock()

white = pygame.Color(255, 255, 255)
red = pygame.Color(255, 0, 0)
pink25 = white.lerp(red, 0.25)
pink50 = white.lerp(red, 0.5)
pink75 = white.lerp(red, 0.75)

run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False          

    window.fill(0)
    pygame.draw.circle(window, white, (50, 50), 45)
    pygame.draw.circle(window, pink25, (150, 50), 45)
    pygame.draw.circle(window, pink50, (250, 50), 45)
    pygame.draw.circle(window, pink75, (350, 50), 45)
    pygame.draw.circle(window, red, (450, 50), 45)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
exit()

相关问题 更多 >