修正srmr绘图错误 (#29)

* 修正srmr绘图错误

* 🚨 `pre-commit-ci`修复格式错误

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
季落 2023-05-16 16:57:24 +08:00 committed by GitHub
parent c82ba74e56
commit cd07941c22
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 4 deletions

View File

@ -11,6 +11,7 @@ from ..utils.api import get_sqla
from ..utils.mys_api import mys_api from ..utils.mys_api import mys_api
from ..utils.image.convert import convert_img from ..utils.image.convert import convert_img
from ..sruid_utils.api.mys.models import Expedition from ..sruid_utils.api.mys.models import Expedition
from ..utils.image.image_tools import get_simple_bg
from ..utils.fonts.starrail_fonts import ( from ..utils.fonts.starrail_fonts import (
sr_font_22, sr_font_22,
sr_font_24, sr_font_24,
@ -145,21 +146,22 @@ async def draw_resin_img(sr_uid: str) -> Image.Image:
# 获取数据 # 获取数据
daily_data = await mys_api.get_daily_data(sr_uid) daily_data = await mys_api.get_daily_data(sr_uid)
img = note_bg.copy() img = await get_simple_bg(based_w, based_h)
img.paste(white_overlay, (0, 0), white_overlay)
if isinstance(daily_data, int): if isinstance(daily_data, int):
img_draw = ImageDraw.Draw(img) img_draw = ImageDraw.Draw(img)
img.paste(warn_pic, (0, 0), warn_pic) img.paste(warn_pic, (0, 0), warn_pic)
# 写UID # 写UID
img_draw.text( img_draw.text(
(250, 553), (350, 680),
f'UID{sr_uid}', f'UID{sr_uid}',
font=sr_font_26, font=sr_font_26,
fill=first_color, fill=first_color,
anchor='mm', anchor='mm',
) )
img_draw.text( img_draw.text(
(250, 518), (350, 650),
f'错误码 {daily_data}', f'错误码 {daily_data}',
font=sr_font_26, font=sr_font_26,
fill=red_color, fill=red_color,
@ -185,7 +187,7 @@ async def draw_resin_img(sr_uid: str) -> Image.Image:
daily_data['stamina_recover_time'] daily_data['stamina_recover_time']
) )
img_draw = ImageDraw.Draw(img) img.paste(note_bg, (0, 0), note_bg)
# 派遣 # 派遣
task_task = [] task_task = []

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -106,6 +106,23 @@ async def get_color_bg(
return img return img
async def get_simple_bg(
based_w: int, based_h: int, image: Union[str, None, Image.Image] = None
) -> Image.Image:
if image:
if isinstance(image, str):
edit_bg = Image.open(BytesIO(get(image).content)).convert('RGBA')
elif isinstance(image, Image.Image):
edit_bg = image.convert('RGBA')
else:
bg_path = random.choice(list(NM_BG_PATH.iterdir()))
edit_bg = Image.open(bg_path).convert('RGBA')
# 确定图片的长宽
bg_img = crop_center_img(edit_bg, based_w, based_h)
return bg_img
def crop_center_img( def crop_center_img(
img: Image.Image, based_w: int, based_h: int img: Image.Image, based_w: int, based_h: int
) -> Image.Image: ) -> Image.Image: