我目前在网上摘录了一段代码,该代码段允许使用相机拍摄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/