"""
步骤：
1、整理需要处理的款号图-输出款号图文件夹
2、整理所有相关的图片作为素材图
3、按要求进行拼接
"""

from ast import mod
import os
import settings

from PIL import ImageFont

# from module.view_control.generate_goods_no_detail_pic.detail_generate_base import DetailBase
# from module.view_control.generate_goods_no_detail_pic.pic_deal import PictureProcessing
is_test_plugins = False
try:
    is_test_plugins = settings.is_test_plugins
except:
    is_test_plugins = False

if is_test_plugins:
    from custom_plugins.plugins_mode.detail_generate_base import DetailBase
    from custom_plugins.plugins_mode.pic_deal import PictureProcessing
else:
    from plugins_mode.detail_generate_base import DetailBase
    from plugins_mode.pic_deal import PictureProcessing

plugins_name = "详情模板"
company_name_list = ["信诺"]
template_name = "xinnuo-1"
# "俯视", "侧视", "后跟", "鞋底", "内里" 组合，组合2

class DetailPicGet(DetailBase):
    need_view = ["俯视", "侧视", "后跟", "鞋底", "内里","组合","组合2","组合3"]
    root = r"{}\resources\detail_temp\xinnuo\1".format(os.getcwd())

    def __init__(
        self,
        goods_no,
        goods_no_value: dict,
        out_put_dir,
        windows=None,
        test=False,
        excel_data=None,
        assigned_page_list=None,
    ):
        super().__init__(
            goods_no,
            goods_no_value,
            out_put_dir,
            windows=windows,
            excel_data=excel_data,
            assigned_page_list=assigned_page_list,
        )
        self.template_name = template_name

        self.root = r"{}\resources\detail_temp\xinnuo\1".format(os.getcwd())
        print("run xinnuo-1 ")
        self.base_bg_color = (255, 255, 255)
        self.base_bg_color_2 = (244, 242, 243)
        self.deal_pic_func_list = [
            self.deal_pic_1,
            self.deal_pic_2,
            self.deal_pic_3,
            self.deal_pic_4,
            self.deal_pic_5,
            self.deal_pic_6,
            self.deal_pic_7,
            self.deal_pic_8,
            self.deal_pic_9,
            self.deal_pic_10,
            self.deal_pic_11,
            self.deal_pic_13,
            self.deal_pic_17,
            self.deal_pic_18,
            self.deal_pic_19,
            self.deal_pic_20,
            self.deal_pic_21,
        ]

        if test:
            # pp = self.generate_font_list_to_pic()
            # pp.im.save(r"C:\Users\gymmc\Desktop\细节图示例/字号.png")
            # for k, v in self.goods_no_value.items():
            #     print(k, v)
            self.run_test()
        else:
            self.run_all()

    def run_test(self):
        detailed_images = []
        detailed_images.append(self.deal_pic_1())
        detailed_images.append(self.deal_pic_2())
        detailed_images.append(self.deal_pic_3())
        detailed_images.append(self.deal_pic_4())
        detailed_images.append(self.deal_pic_5())
        detailed_images.append(self.deal_pic_6())
        detailed_images.append(self.deal_pic_7())
        detailed_images.append(self.deal_pic_8())
        detailed_images.append(self.deal_pic_9())
        detailed_images.append(self.deal_pic_10())
        detailed_images.append(self.deal_pic_11())
        detailed_images.append(self.deal_pic_13())
        detailed_images.append(self.deal_pic_17())
        detailed_images.append(self.deal_pic_18())
        detailed_images.append(self.deal_pic_19())
        detailed_images.append(self.deal_pic_20())
        detailed_images.append(self.deal_pic_21())

        img = self.add_pic(detailed_images)
        img.save(r"{}/{}.jpg".format(self.out_put_dir, self.goods_no, format="JPEG"))
        img.show()

    # 标题文字展示
    def deal_pic_1(self):
        pp_bg = PictureProcessing(r"{}\1.jpg".format(self.root),1600)
        font_main = ImageFont.truetype(r"resources\ttf\puhui\Medium.ttf", 102)  # 设计理念
        mainTitle = self.get_text_value("主标题")
        subTitle = self.get_text_value("副标题")
        pp_bg.get_text_image_advanced(
            value=(336, 95),
            font=font_main,
            text=mainTitle,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        font_sub = ImageFont.truetype(
            r"resources\ttf\puhui\Bold.ttf", 40
        )  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(82, 95),
            font=font_sub,
            text=subTitle,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="组合",
        )
        if pp_jpg_1 == None:
            print("组合为空")
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=goods_art_no_list[0],
                name="俯视",
            )
            if self.check_shoe_is_right_by_pixel(im=pp_png_1.im):
                pp_jpg_1 = pp_jpg_1.transpose()
                pp_png_1 = pp_png_1.transpose()
            pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width/1.1)
            pp_png_1 = pp_png_1.resize(value=pp_bg.width / 1.1)
            pp_bg = pp_bg.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="cs", value=(-50, 190)
            )
            pp_bg = pp_bg.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="cs", value=(50, 130)
            )
        else:
            pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width / 1.1)
            pp_png_1 = pp_png_1.resize(value=pp_bg.width / 1.1)
            pp_bg = pp_bg.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="cs", value=(0, 130)
            )
        return pp_bg

    # 展示鞋头和后跟
    def deal_pic_2(self):
        pp_bg = PictureProcessing(r"{}\2.jpg".format(self.root), 1600)
        font = ImageFont.truetype(
            r"resources\ttf\puhui\Regular.ttf", 24
        )  # 设计理念
        design_text = self.get_text_value("设计理念")
        text_bg = PictureProcessing("RGBA", (pp_bg.width, 200), (255,255,255,0))
        text_bg = text_bg.get_text_image_advanced(
            value=(0, 0),
            font=font,
            text=design_text,
            align="center",
            spacing=20,
            fill=(88, 52, 28),
            return_mode="min_image",
        )
        pp_bg = pp_bg.paste_img(top_img=text_bg, base="nc", value=(0, 359))
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="组合2",
        )
        if pp_jpg_1 == None:
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=goods_art_no_list[0],
                name="俯视",
            )
        pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width)
        pp_png_1 = pp_png_1.resize(value=pp_bg.width)
        pp_bg = pp_bg.to_overlay_pic_advance(
            top_img=pp_jpg_1, top_png_img=pp_png_1, base="cs", value=(0, 315)
        )
        return pp_bg

    # 展示鞋头放大图
    def deal_pic_3(self):
        pp_bg = PictureProcessing(r"{}\3.jpg".format(self.root), 1600)
        xietou_icon = PictureProcessing(r"{}\xietou_icon.png".format(self.root), 1600)
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="内里",
        )
        pp_jpg_1 = pp_jpg_1.resize(value=1400)
        pp_png_1 = pp_png_1.resize(value=1400)
        # pp_bg = pp_bg.paste_img(top_img=shoe_bg, value=(0, 0), base="nw")
        pp_bg = pp_bg.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="sw",
            value=(-pp_bg.width + 100, 280),
            top_png_img=pp_png_1,
        )
        pp_bg.paste_img(
            mode="pixel",
            top_img=xietou_icon,
            base="es",
            value=(120, 280 + pp_jpg_1.height / 2 - xietou_icon.height / 2),
        )
        return pp_bg

    # 展示后跟放大图
    def deal_pic_4(self):
        pp_bg = PictureProcessing(r"{}\4.jpg".format(self.root))
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="组合",
        )
        if pp_jpg_1==None:
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=goods_art_no_list[0],
                name="俯视",
            )
            if self.check_shoe_is_right_by_pixel(im=pp_png_1.im):
                pp_jpg_1 = pp_jpg_1.transpose()
                pp_png_1 = pp_png_1.transpose()
            pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width / 2.5)
            pp_png_1 = pp_png_1.resize(value=pp_bg.width / 2.5)
            pp_bg = pp_bg.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="cs", value=(-50, 330)
            )
            pp_bg = pp_bg.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="cs", value=(50, 300)
            )
        else:
            pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width / 2.2)
            pp_png_1 = pp_png_1.resize(value=pp_bg.width / 2.2)
            pp_bg = pp_bg.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="cs", value=(0, 300)
            )
        return pp_bg

    # 展示后跟细节卡片
    def deal_pic_5(self):
        pp_bg = PictureProcessing(r"{}\5.jpg".format(self.root))
        return pp_bg

    # "心动"设计亮点，展示旋转的侧视图
    def deal_pic_6(self):
        pp_bg = PictureProcessing(r"{}\6.jpg".format(self.root))
        goods_art_no_list = list(self.data.keys())
        goods_art = goods_art_no_list[0]
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art,
            name="组合3",
        )
        if pp_jpg_1 == None:
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=goods_art,
                name="俯视",
            )

        pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width/1.4)
        pp_png_1 = pp_png_1.resize(value=pp_bg.width / 1.4)
        # pp_bg = pp_bg.paste_img(top_img=shoe_bg, value=(0, 0), base="nw")
        pp_bg = pp_bg.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="center",
            value=(0, 0),
            top_png_img=pp_png_1,
        )
        return pp_bg

    # 产品展示，帮面等等
    def deal_pic_7(self):
        pp_bg = PictureProcessing(r"{}\7.jpg".format(self.root))
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="俯视",
        )
        pp_jpg_1 = pp_jpg_1.resize(value=500)
        pp_png_1 = pp_png_1.resize(value=500)
        # pp_bg = pp_bg.paste_img(top_img=shoe_bg, value=(0, 0), base="nw")
        pp_bg = pp_bg.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="sw",
            value=(123, 237),
            top_png_img=pp_png_1,
        )
        font = ImageFont.truetype(
            r"resources\ttf\puhui\Medium.ttf", 24
        )  # 设计理念
        font_hei = ImageFont.truetype(r"resources\ttf\simhei.ttf", 24)  # 设计理念
        bangmian  = self.get_text_value("帮面")
        neili = self.get_text_value("内里")
        xiedi = self.get_text_value("鞋底")
        xiedian = self.get_text_value("鞋垫")
        xiekuan = self.get_text_value("鞋宽")
        banggao = self.get_text_value("帮高")
        gengao = self.get_text_value("跟高")
        pp_bg.get_text_image_advanced(
            value=(230, 351),
            font=font,
            text=bangmian,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.get_text_image_advanced(
            value=(551, 351),
            font=font,
            text=neili,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.get_text_image_advanced(
            value=(230, 461),
            font=font,
            text=xiedi,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.get_text_image_advanced(
            value=(551, 461),
            font=font,
            text=xiedian,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.get_text_image_advanced(
            value=(64, 901),
            font=font_hei,
            text=f"鞋宽\n{xiekuan}",
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.get_text_image_advanced(
            value=(621, 650),
            font=font_hei,
            text=f"帮高\n{banggao}",
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.get_text_image_advanced(
            value=(621, 752),
            font=font_hei,
            text=f"跟高\n{gengao}",
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        return pp_bg

    # 功能展示与卖点
    def deal_pic_8(self):
        detailed_images = []
        pp_bg = PictureProcessing(r"{}\7.jpg".format(self.root))
        pp_bg_circle = PictureProcessing(r"{}\bg_circle.png".format(self.root))
        # detailed_images.append(pp_bg)
        goods_art_no_list = list(self.data.keys())
        all_color_name = []
        bg_color = (254, 249, 245)
        text_color = (70, 48, 41)
        font = ImageFont.truetype(r"resources\ttf\puhui\Medium.ttf", 25)
        goods_art_images = []
        total_height = 0
        for index, goods_art_no in enumerate(goods_art_no_list):
            pp_jpg,pp_png = self.image_one_pic(
                goods_art_no=goods_art_no,
                name="侧视",
                return_orign=True,
            )
            if pp_jpg is None:
                continue
            pp_jpg = pp_jpg.resize(value=pp_bg.width / 2.5)
            pp_png = pp_png.resize(value=pp_bg.width / 2.5)
            color_name = self.goods_no_value["货号资料"][index]["颜色名称"]
            all_color_name.append(color_name)
            text_bg = PictureProcessing("RGBA", (pp_jpg.width, 50), (255,255,255,0))
            text_bg = text_bg.get_text_image_advanced(
                value=(0, 0),
                font=font,
                text="● {}".format(color_name),
                align="center",
                # anchor="mm",
                spacing=5,
                fill=text_color,
                return_mode="image",
                margins=(0, 0, 0, 0),
            )
            _bg = PictureProcessing(
                "RGB",
                (pp_bg.width / 2, pp_jpg.height+200),
                bg_color,
            )
            pp_bg_circle = pp_bg_circle.resize(value=_bg.width/2)
            _bg.paste_img(top_img=pp_bg_circle, base="center")
            if (index+1) == 1:
                total_height += _bg.height
            if (index + 1) % 2 != 0 and (index + 1) != 1:
                total_height += _bg.height
            _bg = _bg.to_overlay_pic_advance(top_img=pp_jpg,top_png_img=pp_png, base="center")
            _bg = _bg.paste_img(
                top_img=text_bg, value=(pp_jpg.width / 2, pp_jpg.height+150)
            )
            goods_art_images.append(_bg)
        rows = 2
        shoes_bg = PictureProcessing(
        ).horizontal_distribution(
            pp_list=goods_art_images,
            bg_width=pp_bg.width,
            margins=(0, 0, 0, 0),
            line_spacing=0,
            number_per_row=rows,
        )
        main_bg = PictureProcessing(
            "RGB",
            (pp_bg.width, total_height),
            bg_color,
        )
        main_bg.paste_img(top_img=shoes_bg)
        detailed_images.append(main_bg)
        return PictureProcessing(im=self.add_pic(detailed_images))

    # 添加尺码表
    def deal_pic_9(self):
        image_path = r"{}\9.jpg".format(self.root)
        return PictureProcessing(image_path)

    # 角度展示
    def deal_pic_10(self):
        detailed_images = []
        image_path = r"{}\10.jpg".format(self.root)
        pp_bg = PictureProcessing(image_path,1600)
        # pp_arrow = PictureProcessing(r"{}\arrow.png".format(self.root))
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="俯视",
        )
        pp_jpg_1 = pp_jpg_1.resize(value=1400)
        pp_png_1 = pp_png_1.resize(value=1400)
        bg_circl = PictureProcessing("RGB", (300, 300), (239, 208, 177))
        bg_circl_paste = PictureProcessing("RGB", (290, 290), (239, 208, 177))
        # bg_circl_paste.paste_img(top_img=pp_jpg_1, base="center")
        bg_circl_paste = bg_circl_paste.radius(value=145, circular_pos=(1, 1, 1, 1))
        bg_circl = bg_circl.radius(value=150, circular_pos=(1, 1, 1, 1))
        bg_circl = bg_circl.paste_img(top_img=bg_circl_paste, base="center")
        # bg_circl = bg_circl.paste_img(top_img=pp_arrow, base="nc")
        pp_bg = pp_bg.paste_img(top_img=bg_circl, base="nw", value=(63, 493))
        pp_bg = pp_bg.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="nw",
            value=(0, pp_bg.height - pp_jpg_1.height),
            top_png_img=pp_png_1,
        )
        font_main = ImageFont.truetype(
            r"resources\ttf\puhui\Medium.ttf", 58
        )  # 设计理念
        mainTitle = self.get_text_value("细节亮点主标题")
        subTitle = self.get_text_value("细节亮点副标题")
        pp_bg.get_text_image_advanced(
            value=(pp_bg.width / 2, 219),
            font=font_main,
            text=mainTitle,
            align="center",
            anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        font_sub = ImageFont.truetype(r"resources\ttf\puhui\Light.ttf", 36)  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(pp_bg.width / 2, 313),
            font=font_sub,
            text=subTitle,
            align="center",
            anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        detailed_images.append(pp_bg)
        return self.pp_pic_subsection(
            PictureProcessing(im=self.add_pic(detailed_images))
        )

    # 添加注意事项
    def deal_pic_11(self):
        """
        bg_12_image_path = r"{}\12.jpg".format(self.root)
        bg_12 = PictureProcessing(bg_12_image_path)
        detailed_images.append(bg_12)
        """
        detailed_images = []
        image_path = r"{}\11.png".format(self.root)
        pp_bg = PictureProcessing(image_path, 1600)
        pp_bg_backend = PictureProcessing(
            "RGB", (pp_bg.width, pp_bg.height), (245, 235, 226)
        )
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="俯视",
        )
        pp_jpg_1 = pp_jpg_1.resize(value=1800)
        pp_png_1 = pp_png_1.resize(value=1800)
        pp_bg_backend = pp_bg_backend.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="cs",
            value=(0, -100),
            top_png_img=pp_png_1,
        )
        font_main = ImageFont.truetype(
            r"resources\ttf\puhui\Medium.ttf", 58
        )  # 设计理念
        pp_bg_backend.get_text_image_advanced(
            value=(pp_bg.width / 2, 219),
            font=font_main,
            text="经 典 系 带",
            align="center",
            anchor="ma",
            spacing=5,
            fill=(107, 70, 61),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        font_sub = ImageFont.truetype(r"resources\ttf\puhui\Light.ttf", 36)  # 设计理念
        pp_bg_backend.get_text_image_advanced(
            value=(pp_bg.width / 2, 313),
            font=font_sub,
            text="松 紧 自 由 调 节",
            align="center",
            anchor="ma",
            spacing=5,
            fill=(107, 70, 61),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg_backend.paste_img(top_img=pp_bg,base="center")
        detailed_images.append(pp_bg_backend)
        # bg_12_image_path = r"{}\12.jpg".format(self.root)
        # bg_12 = PictureProcessing(bg_12_image_path)
        # detailed_images.append(bg_12)
        return self.pp_pic_subsection(
            PictureProcessing(im=self.add_pic(detailed_images))
        )

    def deal_pic_13(self):
        detailed_images = []
        image_path = r"{}\12.jpg".format(self.root)
        pp_bg = PictureProcessing(image_path,1600)
        detailed_images.append(pp_bg)
        radius_top = PictureProcessing(
            "RGB", (pp_bg.width * 0.75, 40), (255, 255, 255)
        ).radius(value=30, circular_pos=(1, 1, 0, 0))
        radius_top_bg = PictureProcessing("RGB", (pp_bg.width, 40), (253, 246, 237))
        image_list = ["俯视","侧视","后跟"]
        for item in image_list:
            pp_bg_background = PictureProcessing(
                "RGB", (pp_bg.width, 800), (253, 246, 237)
            )
            pp_bg_radius = PictureProcessing(
                "RGB", (pp_bg.width * 0.85, 800), (255, 255, 255)
            )
            radius_top_bg = radius_top_bg.paste_img(top_img=radius_top, base="cc")
            detailed_images.append(radius_top_bg)
            goods_art_no_list = list(self.data.keys())
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=goods_art_no_list[0],
                name=item,
            )
            if item =="俯视":
                if self.check_shoe_is_right_by_pixel(im=pp_png_1.im):
                    pp_jpg_1 = pp_jpg_1.transpose()
                    pp_png_1 = pp_png_1.transpose()
                pp_jpg_1 = pp_jpg_1.resize(value=pp_bg_radius.width / 1.3)
                pp_png_1 = pp_png_1.resize(value=pp_bg_radius.width / 1.3)
                pp_bg_radius = pp_bg_radius.to_overlay_pic_advance(
                    top_img=pp_jpg_1, top_png_img=pp_png_1, base="cc", value=(-50, 0)
                )
                pp_bg_radius = pp_bg_radius.to_overlay_pic_advance(
                    top_img=pp_jpg_1, top_png_img=pp_png_1, base="cc", value=(50, 60)
                )
            if item == "侧视":
                if self.check_shoe_is_right_by_pixel(im=pp_png_1.im):
                    pp_jpg_1 = pp_jpg_1.transpose()
                    pp_png_1 = pp_png_1.transpose()
                pp_jpg_1 = pp_jpg_1.resize(value=pp_bg_radius.width / 1.3)
                pp_png_1 = pp_png_1.resize(value=pp_bg_radius.width / 1.3)
                pp_bg_radius = pp_bg_radius.to_overlay_pic_advance(
                    top_img=pp_jpg_1, top_png_img=pp_png_1, base="cc", value=(60, 0)
                )
                pp_bg_radius = pp_bg_radius.to_overlay_pic_advance(
                    top_img=pp_jpg_1, top_png_img=pp_png_1, base="cc", value=(-60, 0)
                )
            if item == "后跟":
                pp_jpg_1 = pp_jpg_1.resize(value=pp_bg_radius.width / 2.3)
                pp_png_1 = pp_png_1.resize(value=pp_bg_radius.width / 2.3)
                pp_jpg_1 = pp_jpg_1.transpose()
                pp_png_1 = pp_png_1.transpose()
                pp_bg_radius = pp_bg_radius.to_overlay_pic_advance(
                    top_img=pp_jpg_1, top_png_img=pp_png_1, base="cc", value=(130, 0)
                )
                pp_jpg_1 = pp_jpg_1.transpose()
                pp_png_1 = pp_png_1.transpose()
                pp_bg_radius = pp_bg_radius.to_overlay_pic_advance(
                    top_img=pp_jpg_1, top_png_img=pp_png_1, base="cc", value=(-130, 0)
                )
            pp_bg_radius = pp_bg_radius.radius(value=30, circular_pos=(1, 1, 1, 1))
            pp_bg_background.paste_img(top_img=pp_bg_radius, base="cc", value=(0, 0))
            detailed_images.append(pp_bg_background)
            radius_bottom = PictureProcessing(
                "RGB", (pp_bg.width * 0.75, 40), (255, 255, 255)
            ).radius(value=30, circular_pos=(0, 0, 1, 1))
            radius_bottom_bg = PictureProcessing("RGB", (pp_bg.width, 40), (253, 246, 237))
            radius_bottom_bg = radius_bottom_bg.paste_img(top_img=radius_bottom, base="cc")
            detailed_images.append(radius_bottom_bg)
            detailed_images.append(
                PictureProcessing("RGB", (pp_bg.width, 50), (253, 246, 237))
            )
        return self.pp_pic_subsection(
            PictureProcessing(im=self.add_pic(detailed_images))
        )

    def deal_pic_17(self):
        # 产品细节
        image_path = r"{}\17.jpg".format(self.root)
        image_path_1 = r"{}\17_1.png".format(self.root)
        detailed_images = []
        pp_bg_1 = PictureProcessing(image_path_1)
        pp_bg = PictureProcessing(image_path)
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="俯视",
        )
        pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width+100)
        pp_png_1 = pp_png_1.resize(value=pp_bg.width + 100)
        pp_bg = pp_bg.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="cs",
            value=(0, 0),
            top_png_img=pp_png_1,
        )
        mainTitle = self.get_text_value("艺-主标题")
        subTitle = self.get_text_value("艺-副标题")
        font_main = ImageFont.truetype(
            r"resources\ttf\puhui\Medium.ttf", 30
        )  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(113, 545),
            font=font_main,
            text=mainTitle,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        font_sub = ImageFont.truetype(r"resources\ttf\puhui\Light.ttf", 24)  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(113, 602),
            font=font_sub,
            text=subTitle,
            align="left",
            # anchor="ma",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.paste_img(top_img=pp_bg_1)
        detailed_images.append(pp_bg)
        return self.pp_pic_subsection(
            PictureProcessing(im=self.add_pic(detailed_images))
        )

    def deal_pic_18(self):
        image_path = r"{}\18.jpg".format(self.root)
        image_path_1 = r"{}\18_1.png".format(self.root)
        yuanhu = r"{}\yuanhu.png".format(self.root)
        detailed_images = []
        pp_bg_1 = PictureProcessing(image_path_1)
        pp_bg = PictureProcessing(image_path)
        yuanhu_bg = PictureProcessing(yuanhu)
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="侧视",
        )
        pp_jpg_1 = pp_jpg_1.resize(value=1400)
        pp_png_1 = pp_png_1.resize(value=1400)
        pp_bg = pp_bg.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="cs",
            value=(-pp_jpg_1.width/3, 0),
            top_png_img=pp_png_1,
        )
        pp_bg = pp_bg.paste_img(
            mode="pixel",
            top_img=yuanhu_bg,
            base="es",
            value=(pp_jpg_1.width / 7, yuanhu_bg.height/3),
        )
        mainTitle = self.get_text_value("跟-主标题")
        subTitle = self.get_text_value("跟-副标题")
        gengao = self.get_text_value("跟高")
        font_main = ImageFont.truetype(
            r"resources\ttf\puhui\Medium.ttf", 30
        )  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(441, 210),
            font=font_main,
            text=mainTitle,
            align="right",
            # anchor="rs",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        font_sub = ImageFont.truetype(r"resources\ttf\puhui\Light.ttf", 24)  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(441, 255),
            font=font_sub,
            text=subTitle,
            align="right",
            # anchor="ls",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.get_text_image_advanced(
            value=(605, 648),
            font=font_main,
            text=gengao,
            align="right",
            # anchor="ls",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        pp_bg.paste_img(top_img=pp_bg_1)
        detailed_images.append(pp_bg)
        return self.pp_pic_subsection(
            PictureProcessing(im=self.add_pic(detailed_images))
        )

    def deal_pic_19(self):
        detailed_images = []
        image_path = r"{}\19.jpg".format(self.root)
        pp_bg = PictureProcessing(image_path)
        # 鞋底
        goods_art_no_list = list(self.data.keys())
        pp_jpg_1, pp_png_1 = self.image_one_pic(
            return_orign=True,
            goods_art_no=goods_art_no_list[0],
            name="鞋底",
        )
        pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width)
        pp_png_1 = pp_png_1.resize(value=pp_bg.width)
        pp_bg = pp_bg.to_overlay_pic_advance(
            mode="pixel",
            top_img=pp_jpg_1,
            base="center",
            value=(0, 200),
            top_png_img=pp_png_1,
        )
        mainTitle = self.get_text_value("底-主标题")
        subTitle = self.get_text_value("底-副标题")
        font_main = ImageFont.truetype(
            r"resources\ttf\puhui\Medium.ttf", 30
        )  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(114, 259),
            font=font_main,
            text=mainTitle,
            align="left",
            # anchor="rs",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        font_sub = ImageFont.truetype(r"resources\ttf\puhui\Light.ttf", 24)  # 设计理念
        pp_bg.get_text_image_advanced(
            value=(114, 311),
            font=font_sub,
            text=subTitle,
            align="left",
            # anchor="ls",
            spacing=5,
            fill=(60, 40, 29),
            return_mode="image",
            margins=(0, 0, 0, 0),
        )
        # return PictureProcessing(image_path)
        detailed_images.append(pp_bg)
        return self.pp_pic_subsection(PictureProcessing(im=self.add_pic(detailed_images)))

    def deal_pic_20(self):
        detailed_images = []
        font = ImageFont.truetype(r"resources\ttf\puhui\Medium.ttf", 30)  # 设计理念
        pp_bg = PictureProcessing(r"{}\20.jpg".format(self.root))
        detailed_images.append(pp_bg)
        goods_art_no_list = list(self.data.keys())
        for item in goods_art_no_list:
            radius_top_bg = PictureProcessing(
                "RGB", (pp_bg.width, 1048), (253, 246, 237)
            )
            bg_radius = PictureProcessing(
                "RGB",
                (pp_bg.width * 0.85, radius_top_bg.height * 0.85),
                (255, 255, 255),
            )
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=item,
                name="俯视",
            )
            pp_jpg_1 = pp_jpg_1.resize(value=bg_radius.width/1.3)
            pp_png_1 = pp_png_1.resize(value=bg_radius.width  /1.3)
            bg_radius = bg_radius.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="nc",value=(0,150)
            )
            bg_radius = bg_radius.radius(value=30)
            text_bg = PictureProcessing(
                "RGBA", (pp_jpg_1.width, 50), (255, 255, 255, 0)
            )
            text_bg = text_bg.get_text_image_advanced(
                value=(0, 0),
                font=font,
                text="斜面展示",
                align="center",
                # anchor="mm",
                spacing=5,
                fill=(70, 45, 36),
                return_mode="min_image",
                margins=(0, 0, 0, 0),
            )
            _bg = PictureProcessing(
                "RGBA",
                (pp_bg.width / 2, pp_png_1.height + 200),
                (255, 255, 255,0),
            )
            _bg.paste_img(top_img=text_bg, base="center",value=(0,50))
            bg_radius.paste_img(top_img=_bg, base="center")
            radius_top_bg = radius_top_bg.paste_img(top_img=bg_radius, base="center")
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=item,
                name="内里",
            )
            pp_jpg_1 = pp_jpg_1.resize(value=bg_radius.width / 2)
            pp_png_1 = pp_png_1.resize(value=bg_radius.width / 2)
            bg_radius = bg_radius.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="sw", value=(0, 150)
            )
            bg_radius = bg_radius.radius(value=30)
            text_bg = PictureProcessing(
                "RGBA", (pp_jpg_1.width, 50), (255, 255, 255, 0)
            )
            text_bg = text_bg.get_text_image_advanced(
                value=(0, 0),
                font=font,
                text="鞋面展示",
                align="center",
                # anchor="mm",
                spacing=5,
                fill=(70, 45, 36),
                return_mode="min_image",
                margins=(0, 0, 0, 0),
            )
            _bg = PictureProcessing(
                "RGBA",
                (pp_bg.width / 2, pp_png_1.height + 150),
                (255, 255, 255, 0),
            )
            _bg.paste_img(top_img=text_bg, base="center")
            bg_radius.paste_img(top_img=_bg, base="sw",value=(-50,-20))
            radius_top_bg = radius_top_bg.paste_img(top_img=bg_radius, base="center")
            pp_jpg_1, pp_png_1 = self.image_one_pic(
                return_orign=True,
                goods_art_no=item,
                name="鞋底",
            )
            pp_jpg_1 = pp_jpg_1.resize(value=bg_radius.width / 2)
            pp_png_1 = pp_png_1.resize(value=bg_radius.width / 2)
            bg_radius = bg_radius.to_overlay_pic_advance(
                top_img=pp_jpg_1, top_png_img=pp_png_1, base="es", value=(0, 150)
            )
            bg_radius = bg_radius.radius(value=30)
            text_bg = PictureProcessing(
                "RGBA", (pp_jpg_1.width, 50), (255, 255, 255, 0)
            )
            text_bg = text_bg.get_text_image_advanced(
                value=(0, 0),
                font=font,
                text="鞋底展示",
                align="center",
                # anchor="mm",
                spacing=5,
                fill=(70, 45, 36),
                return_mode="min_image",
                margins=(0, 0, 0, 0),
            )
            _bg = PictureProcessing(
                "RGBA",
                (pp_bg.width / 2, pp_png_1.height + 150),
                (255, 255, 255, 0),
            )
            _bg.paste_img(top_img=text_bg, base="center")
            bg_radius.paste_img(top_img=_bg, base="es", value=(-50, -20))
            radius_top_bg = radius_top_bg.paste_img(top_img=bg_radius, base="center")
            detailed_images.append(radius_top_bg)
        return self.pp_pic_subsection(
            PictureProcessing(im=self.add_pic(detailed_images))
        )

    def deal_pic_21(self):
        detailed_images = []
        bg_21 = PictureProcessing(r"{}\21.jpg".format(self.root))
        detailed_images.append(bg_21)
        return self.pp_pic_subsection(
            PictureProcessing(im=self.add_pic(detailed_images))
        )


if __name__ == "__main__":

    d = DetailPicGet(
        goods_no="test",
        goods_no_value={},
        out_put_dir="./output/xinnuo-1",
        test=True,
    )
    d.run_test()
