def _create_ship_image(self, score, avatar1, avatar2):
ava_im1 = Image.open(avatar1).convert('RGBA')
ava_im2 = Image.open(avatar2).convert('RGBA')
# Assume the two images are square
size = min(ava_im1.size, ava_im2.size)
offset = round(_scale(0, 100, size[0], 0, score))
ava_im1.thumbnail(size)
ava_im2.thumbnail(size)
# paste img1 on top of img2
newimg1 = Image.new('RGBA', size=size, color=(0, 0, 0, 0))
newimg1.paste(ava_im2, (-offset, 0))
newimg1.paste(ava_im1, (offset, 0))
# paste img2 on top of img1
newimg2 = Image.new('RGBA', size=size, color=(0, 0, 0, 0))
newimg2.paste(ava_im1, (offset, 0))
newimg2.paste(ava_im2, (-offset, 0))
# blend with alpha=0.5
im = Image.blend(newimg1, newimg2, alpha=0.6)
mask = Image.open(self._mask).convert('L')
mask = mask.resize(ava_im1.size, resample=Image.BILINEAR)
im.putalpha(mask)
f = io.BytesIO()
im.save(f, 'png')
f.seek(0)
return discord.File(f, filename='test.png')
评论列表
文章目录