def snapshot(self):
"Capture the canvas as an Image instance"
srf = pygame.Surface(self.size, pygame.SRCALPHA)
# Draw background
if isinstance(self._bg, Image):
self._bg.config(size=self._size)
srf.blit(self._bg.image, (0,0))
elif self._bg: srf.fill(self._bg)
# Draw objects
for g in self:
if g.snapshot is not None:
xy = g.blitPosition((0,0), g.size)
srf.blit(g.snapshot().image, xy)
else: g.draw(srf, snapshot=True)
# Draw border
if self.weight: drawBorder(srf, self.border, self.weight)
return Image(srf)
评论列表
文章目录