from PIL import ImageFont, ImageDraw, Image
from django.conf import settings
from apps.edu.models import Certificate
font_dict = {
    'font_1': "/media/cert/template/weibei.ttf",
    'font_2': "/media/cert/template/SIMLI.TTF"
}


def make_img_x(instance: Certificate):
    titles = []
    if instance.是否内审员:
        titles.append('内审员')
    if instance.是否授权签字人:
        titles.append('授权签字人')
    if instance.是否质量负责人:
        titles.append('质量负责人')
    if instance.是否最高管理者:
        titles.append('最高管理者')
    instance.证书地址 = make_img(instance.证书编号, instance.姓名, '、'.join(titles), font_dict[f'font_{instance.字体方案}'])
    instance.save()

def make_img(number, name, title, font_name_path):
    # 打开底版图片
    imageFile =  settings.BASE_DIR +   '/media/cert/template/background.jpg'
    img = Image.open(imageFile)
    # 选择字体与大小
    font = ImageFont.truetype(settings.BASE_DIR+ font_name_path, 155)
    font_title = ImageFont.truetype(settings.BASE_DIR +   "/media/cert/template/siyuan.otf", 76)
    font_number = ImageFont.truetype(settings.BASE_DIR +   "/media/cert/template/timesbd.ttf", 58)
    # print(font)
    # 在图片上添加文字
    # word = """     
    # 夜  归  小  朝
    # 梦  鸟  舟  有  静
    # 星  清  载  赤  安
    # 河  风  我  羽  心
    # 一  同  湖  暮  野
    # 壶  桨  旋  落
    # 茶  驻  停  霞

    # ldc 2020-07-25
    # """
    word_number = number #"CTCZL20230001"
    word_name = name #"曹前明"
    word_title = title #"内审员、授权签字人、质量负责人、最高管理者"
    # width = img.width
    # height = img.height
    # # 查看图片宽高
    # print(width,height)
    position_number = (1772, 645)
    position_name = (628, 860)
    position_title = (900, 1230)
    color_name = (82, 68, 19)
    color = (0,0,0)
    draw = ImageDraw.Draw(img)
    draw.text(position_name, word_name, color_name, font=font)
    draw.text(position_title, word_title, color, font=font_title)
    draw.text(position_number, word_number, color_name, font=font_number)
    # 保存图片
    path = f"/media/cert/{number}.jpg"
    img.save(settings.BASE_DIR +   path)
    return path