将两个 pygame.Color 对象混合在一起

Blending two pygame.Color objects together

我想知道如何混合两个 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

使用 pygame.Color.lerp 函数对给定颜色进行线性插值。

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()