Spaces:
Sleeping
Sleeping
import random | |
from pathlib import Path | |
from typing import List | |
from pil_utils import BuildImage | |
from pydantic import Field | |
from meme_generator import MemeArgsModel, MemeArgsParser, MemeArgsType, add_meme | |
img_dir = Path(__file__).parent / "images" | |
help = "图片编号,范围为 1~92" | |
parser = MemeArgsParser() | |
parser.add_argument("-n", "--number", type=int, default=0, help=help) | |
class Model(MemeArgsModel): | |
number: int = Field(0, description=help) | |
def crawl(images: List[BuildImage], texts: List[str], args: Model): | |
total_num = 92 | |
if 1 <= args.number <= total_num: | |
num = args.number | |
else: | |
num = random.randint(1, total_num) | |
img = images[0].convert("RGBA").circle().resize((100, 100)) | |
frame = BuildImage.open(img_dir / f"{num:02d}.jpg") | |
frame.paste(img, (0, 400), alpha=True) | |
return frame.save_jpg() | |
add_meme( | |
"crawl", | |
crawl, | |
min_images=1, | |
max_images=1, | |
args_type=MemeArgsType(parser, Model), | |
keywords=["爬"], | |
) | |