Merge branch 'main' into arknights

This commit is contained in:
felinae98 2021-02-19 15:45:40 +08:00
commit c51284c260
No known key found for this signature in database
GPG Key ID: 00C8B010587FF610

View File

@ -1,7 +1,9 @@
import base64
import math
from dataclasses import dataclass, field
from io import BytesIO
from typing import NoReturn, Optional
from nonebot import logger
import httpx
from PIL import Image
from .plugin_config import plugin_config
@ -35,15 +37,17 @@ class Post:
if len(self.pics) < 6:
return
first_image = await self._pic_url_to_image(self.pics[0])
if first_image.size[0] != first_image.size[1]:
if abs(first_image.size[0] - first_image.size[1]) / first_image.size[0] > 0.05:
return
pic_size = first_image.size[0]
images = [first_image]
for pic in self.pics[1:]:
cur_image = await self._pic_url_to_image(pic)
if cur_image.size[0] != pic_size or cur_image.size[1] != pic_size:
if abs(first_image.size[0] - pic_size) / pic_size > 0.05 or \
abs(first_image.size[1] - pic_size) / pic_size > 0.05:
break
images.append(cur_image)
logger.debug('{} images is same size'.format(len(images)))
if len(images) == 6:
matrix = (3, 2)
self.pics = self.pics[6:]
@ -52,6 +56,7 @@ class Post:
self.pics = self.pics[9:]
else:
return
logger.info('trigger merge image with {} imgs'.format(len(images)))
target = Image.new('RGB', (matrix[0] * pic_size, matrix[1] * pic_size))
for y in range(matrix[1]):
for x in range(matrix[0]):