Files
DanDingNoneBot/danding_bot/plugins/danding_qqpush/preview_image_render.py

37 lines
1.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""预览渲染辅助模块 - 只为超级用户预览命令按插件配置提供渲染器实例。
放在独立模块里,避免 test_command 反向依赖尚未完成初始化的插件包 __init__;
渲染逻辑仍然复用 image_render.ImageRenderer,不在此处重复实现。
"""
from typing import Optional
from .config import Config
from .image_render import ImageRenderer
# 渲染器实例缓存:按插件配置构建一次后复用(字体只加载一次)
_preview_renderer: Optional[ImageRenderer] = None
def get_preview_renderer(config: Config) -> ImageRenderer:
"""
获取通知卡片渲染器
Args:
config: 插件配置对象
Returns:
缓存的 ImageRenderer 实例
"""
global _preview_renderer
if _preview_renderer is None:
_preview_renderer = ImageRenderer(
width=config.ImageWidth,
font_size=config.ImageFontSize,
padding=config.ImagePadding,
line_spacing=config.ImageLineSpacing,
bg_color=config.ImageBgColor,
text_color=config.ImageTextColor,
font_paths=config.FontPaths,
)
return _preview_renderer