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