Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用自定义图案填充pygame字体_Python_Pygame - Fatal编程技术网

Python 用自定义图案填充pygame字体

Python 用自定义图案填充pygame字体,python,pygame,Python,Pygame,我目前正在Python/Pygame中进行一个(第一个)项目,我正在尝试使用模式覆盖显示文本。图案由垂直线(1像素宽)和2种交替颜色组成 我使用pygame.draw.line()创建这个模式,我可以使用我创建的自定义函数创建矩形。但是现在我想在我的字体上画这个图案 我是Python新手,我想知道:有没有一种方法可以创建某种掩码,使模式只出现在字体字符上,而不出现在字体字符之外?我在网上搜索了一段时间,但什么也没找到 非常感谢 您可以使用不同的混合模式来获得您想要的效果 下面是一个简单的示例(其

我目前正在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