Files
main_plugin_farm/drawImage.py
T

44 lines
1.3 KiB
Python
Raw Normal View History

2025-03-18 18:39:02 +08:00
from zhenxun.services.log import logger
from zhenxun.utils._build_image import BuildImage
2025-03-18 18:39:02 +08:00
from .config import g_pJsonManager, g_sResourcePath
from .database import g_pSqlManager
class CDrawImageManager:
2025-03-18 18:39:02 +08:00
@classmethod
2025-03-18 18:39:02 +08:00
async def drawMyFarm(cls, uid: str) -> bytes:
"""绘制我的农场
Args:
uid (str): 用户UID
Returns:
bytes: 返回绘制结果
"""
soilNumber = await g_pSqlManager.getUserLevelByUid(uid)
2025-03-18 18:39:02 +08:00
img = BuildImage(background=g_sResourcePath / "background/background.jpg")
soilSize = g_pJsonManager.m_pSoil['size'] # type: ignore
#TODO 缺少判断用户土地资源状况
2025-03-18 18:39:02 +08:00
soil = BuildImage(background=g_sResourcePath / "soil/普通土地.png")
await soil.resize(0, soilSize[0], soilSize[1])
2025-03-18 18:39:02 +08:00
grass = BuildImage(background=g_sResourcePath / "soil/草土地.png")
await grass.resize(0, soilSize[0], soilSize[1])
2025-03-18 18:39:02 +08:00
soilPos = g_pJsonManager.m_pSoil['soil'] # type: ignore
2025-03-18 18:39:02 +08:00
for key, value in soilPos.items():
if soilNumber >= int(key):
await img.paste(soil, (value['x'], value['y']))
2025-03-18 18:39:02 +08:00
else:
await img.paste(grass, (value['x'], value['y']))
2025-03-18 18:39:02 +08:00
return img.pic2bytes()
2025-03-18 18:39:02 +08:00
g_pDrawImage = CDrawImageManager()