def mark(self, path, position=POSITION_BOTTOM_RIGHT):
'''????????'''
try:
img = Image.open(path)
except IOError:
return None
if img.size[0] < self._mosaic.size[0]:
print 'width', img.size[0], self._mosaic.size[0]
return None
if img.size[1] < self._mosaic.size[1]:
print 'height', img.size[1], self._mosaic.size[1]
return None
img_area = img.size[0] * img.size[1]
mosaic_area = self._mosaic.size[0] * self._mosaic.size[1]
ratio = 4
if img_area < mosaic_area * ratio:
return None
self._locate(img, position)
layer = Image.new('RGBA', img.size, (0, 0, 0, 0))
layer.paste(self._mosaic, self.box)
return Image.composite(layer, img, layer)
评论列表
文章目录