Python 用自定义图案填充pygame字体
我目前正在Python/Pygame中进行一个(第一个)项目,我正在尝试使用模式覆盖显示文本。图案由垂直线(1像素宽)和2种交替颜色组成 我使用pygame.draw.line()创建这个模式,我可以使用我创建的自定义函数创建矩形。但是现在我想在我的字体上画这个图案 我是Python新手,我想知道:有没有一种方法可以创建某种掩码,使模式只出现在字体字符上,而不出现在字体字符之外?我在网上搜索了一段时间,但什么也没找到Python 用自定义图案填充pygame字体,python,pygame,Python,Pygame,我目前正在Python/Pygame中进行一个(第一个)项目,我正在尝试使用模式覆盖显示文本。图案由垂直线(1像素宽)和2种交替颜色组成 我使用pygame.draw.line()创建这个模式,我可以使用我创建的自定义函数创建矩形。但是现在我想在我的字体上画这个图案 我是Python新手,我想知道:有没有一种方法可以创建某种掩码,使模式只出现在字体字符上,而不出现在字体字符之外?我在网上搜索了一段时间,但什么也没找到 非常感谢 您可以使用不同的混合模式来获得您想要的效果 下面是一个简单的示例(其
非常感谢 您可以使用不同的混合模式来获得您想要的效果 下面是一个简单的示例(其中
t.bmp
是带有图案的图像,但您当然可以使用任何其他曲面):
结果:
太棒了!这正是我要找的!非常感谢你!
import pygame
pygame.init()
screen = pygame.display.set_mode((490, 160))
font = pygame.font.SysFont('Arial', 150)
pattern = pygame.image.load('t.bmp').convert()
text = font.render('FooBar', True, (255, 255, 255), (0, 0, 0))
pattern.blit(text, (0, 0), special_flags = pygame.BLEND_MULT)
screen.blit(pattern, (0, 0))
pygame.display.flip();
while True:
if pygame.event.get(pygame.QUIT):
break