我目前在网上摘录了一段代码,该代码段允许使用相机拍摄4张照片。这很好。

然后,我尝试从网络上摘下另一个片段,然后再对它进行拍照,这让我头疼不已,我想知道是否有更聪明的人可以帮我解决这个问题……

surface = pygame.display.set_mode((0,0))
fontObj = pygame.font.Font("freesansbold.ttf", 100)
textSurfaceObj = fontObj.render("3", True, (255, 0, 0))
textRectObj = textSurfaceObj.get_rect()
textRectObj.center = (surface.get_width() / 2, surface.get_height() / 2)

def show_image(image_path):
    screen = init_pygame()
    img=pygame.image.load(image_path)
    img = pygame.transform.scale(img,(transform_x,transfrom_y))
    screen.blit(img,(offset_x,offset_y))
    pygame.display.flip()

    def init_pygame():
        pygame.init()
        size = (pygame.display.Info().current_w, pygame.display.Info().current_h)
        pygame.display.set_caption('Pictures')
        pygame.mouse.set_visible(False) #hide the mouse cursor
        return pygame.display.set_mode(size, pygame.FULLSCREEN)

        print "Taking pics"
        now = time.strftime("%Y-%m-%d-%H:%M:%S")
        try:
                for i, filename in enumerate(camera.capture_continuous(config.file_path + now + '-' + '{counter:02d}.jpg')):
                        print(filename)
                        for y in range(3,0,-1):
                                surface.fill((0,0,0,0))
                                textSurfaceObj = fontObj.render(str(y), True, (255, 0, 0))
                                surface.blit(textSurfaceObj, textRectObj)
                                pygame.display.update()
                                pygame.time.wait(1000)
                        sleep(capture_delay)
                        if i == total_pics-1:
                                break
        finally:
                camera.stop_preview()
                camera.close()


它返回我:

Traceback (most recent call last):
  File "pics.py", line 58, in <module>
    fontObj = pygame.font.Font("freesansbold.ttf", 100)
pygame.error: font not initialized


我的印象是,如果pygame.init()完成了,字体应该初始化吗?

最佳答案

那是因为您调用:

pygame.font.Font("freesansbold.ttf", 100)


致电之前:

pygame.init()


可能在文件pics.py的第58行中。您已经为自己提供了问题的答案。您可能比您想像的要聪明。

关于python - Python倒计时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31371625/

10-10 14:07