完善形状描边,新增文本图层、空白图层生成

This commit is contained in:
2025-12-10 22:45:33 +08:00
parent ef3404b096
commit 9148073095
5 changed files with 106 additions and 28 deletions

View File

@ -131,6 +131,14 @@ def copy_images_by_index(images: list[Image.Image], index: int) -> list[Image.Im
return new_images
def generate_image(images: list[Image.Image], filters: list[FilterItem]) -> Image.Image:
# 处理位于最前面的生成类滤镜
while filters and filters[0].name.strip() in ImageFilterManager.generate_filter_map:
gen_filter = filters.pop(0)
gen_func = gen_filter.filter
func_args = gen_filter.args[1:] # 去掉第一个 list 参数
gen_func(None, images, *func_args)
def save_or_load_image(images: list[Image.Image], filters: list[FilterItem], sender_info: SenderInfo) -> StoredInfo | None:
stored_info = None
# 处理位于最前面的“读取图像”、“存入图像”
@ -150,8 +158,9 @@ def save_or_load_image(images: list[Image.Image], filters: list[FilterItem], sen
return stored_info
async def apply_filters_to_images(images: list[Image.Image], filters: list[FilterItem], sender_info: SenderInfo) -> BytesIO | StoredInfo:
# 先处理存取图像的操作
# 先处理存取图像、生成图像的操作
stored_info = save_or_load_image(images, filters, sender_info)
generate_image(images, filters)
if stored_info and len(filters) <= 0:
return stored_info