diff --git a/GenshinUID/genshinuid_wikitext/get_weapons_pic.py b/GenshinUID/genshinuid_wikitext/get_weapons_pic.py index c43b9cac..31ebae6f 100644 --- a/GenshinUID/genshinuid_wikitext/get_weapons_pic.py +++ b/GenshinUID/genshinuid_wikitext/get_weapons_pic.py @@ -195,7 +195,7 @@ async def draw_weapons_wiki_img(data: Weapon, stats: WeaponStats): if _cost_pic is None: cost_pic = get_unknown_png() else: - cost_pic = _cost_pic.resize((64, 64)) + cost_pic = _cost_pic.convert('RGBA').resize((64, 64)) if not cost_pos and material['materialtype'] == '武器突破素材': pos = material['dropdomain'] diff --git a/GenshinUID/utils/get_assets.py b/GenshinUID/utils/get_assets.py index 4ac5b1ba..a67dee02 100644 --- a/GenshinUID/utils/get_assets.py +++ b/GenshinUID/utils/get_assets.py @@ -19,8 +19,10 @@ async def _get_assets( return Image.open(path) if type == 'AMBR': URL = AMBR_UI + EURL = ENKA_UI else: URL = ENKA_UI + EURL = AMBR_UI async with ClientSession() as sess: async with sess.get(URL.format(name)) as res: if res.status == 200: @@ -29,7 +31,14 @@ async def _get_assets( await f.write(content) return Image.open(BytesIO(content)) else: - return None + async with sess.get(EURL.format(name)) as res: + if res.status == 200: + content = await res.read() + async with aiofiles.open(path, 'wb') as f: + await f.write(content) + return Image.open(BytesIO(content)) + else: + return None async def get_assets_from_enka(name: str) -> Optional[Image.Image]: diff --git a/GenshinUID/utils/image/texture2d/unknown.png b/GenshinUID/utils/image/texture2d/unknown.png new file mode 100644 index 00000000..2626f316 Binary files /dev/null and b/GenshinUID/utils/image/texture2d/unknown.png differ