zhenxun_plugin_farm/drawImage.py

44 lines
1.3 KiB
Python

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