""" 步骤: 1、整理需要处理的款号图-输出款号图文件夹 2、整理所有相关的图片作为素材图 3、按要求进行拼接 """ from ast import mod import os import settings from PIL import ImageFont import copy # 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-2" # "俯视", "侧视", "后跟", "鞋底", "内里" 组合,组合2 class DetailPicGet(DetailBase): need_view = ["俯视", "侧视", "后跟", "鞋底", "内里","组合","组合2"] root = r"{}\resources\detail_temp\xinnuo\2".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\2".format(os.getcwd()) print("run xinnuo-2 ") 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_10, self.deal_pic_11, self.deal_pic_13, ] 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_10()) detailed_images.append(self.deal_pic_11()) detailed_images.append(self.deal_pic_13()) 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) hover = PictureProcessing(r"{}\1hover.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="俯视", ) if pp_jpg_1 != None and pp_png_1 != None: pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width/1.2) pp_png_1 = pp_png_1.resize(value=pp_bg.width /1.2) if self.check_shoe_is_right_by_pixel(im=pp_png_1.im)==False: pp_jpg_1 = pp_jpg_1.transpose() pp_png_1 = pp_png_1.transpose() pp_png_1_bg = PictureProcessing("RGBA", (pp_jpg_1.width*1.4, pp_jpg_1.width*1.4), (255,255,255,0)) pp_png_1_bg = pp_png_1_bg.paste_img( top_img=pp_png_1,base="nc", value=(0, 0) ) pp_png_1_bg = pp_png_1_bg.rotate(-45) pp_bg = pp_bg.paste_img( top_img=pp_png_1_bg,base="nc", value=(-270, 720) ) key=0 if len(goods_art_no_list)>1: key=1 pp_jpg_1, pp_png_1 = self.image_one_pic( return_orign=True, goods_art_no=goods_art_no_list[key], name="俯视", ) if pp_jpg_1 != None and pp_png_1 != None: pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width/1.3) pp_png_1 = pp_png_1.resize(value=pp_bg.width /1.3) if self.check_shoe_is_right_by_pixel(im=pp_png_1.im)==True: pp_jpg_1 = pp_jpg_1.transpose() pp_png_1 = pp_png_1.transpose() pp_png_1_bg = PictureProcessing("RGBA", (pp_jpg_1.width*1.4, pp_jpg_1.width*1.4), (255,255,255,0)) pp_png_1_bg = pp_png_1_bg.paste_img( top_img=pp_png_1,base="nc", value=(0, 0) ) pp_png_1_bg = pp_png_1_bg.rotate(45) pp_bg = pp_bg.paste_img( top_img=pp_png_1_bg,base="nc", value=(270, 350) ) pp_bg = pp_bg.paste_img( top_img=hover, value=(129, 1186.5) ) 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", 30 ) # 设计理念title design_title = self.get_text_value("设计理念标题") 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_title, align="center", spacing=20, fill=(68, 41, 34), return_mode="min_image", ) pp_bg = pp_bg.paste_img(top_img=text_bg, base="nw", value=(134, 1232)) font = ImageFont.truetype( r"resources\ttf\puhui\Regular.ttf", 24 ) # 设计理念 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=(166, 133, 116), return_mode="min_image", ) pp_bg = pp_bg.paste_img(top_img=text_bg, base="nw", value=(134, 1284)) 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="组合", ) if pp_png_1 != None and pp_jpg_1 != None: if self.check_shoe_is_right_by_pixel(im=pp_png_1.im)==True: 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*0.8) pp_png_1 = pp_png_1.resize(value=pp_bg.width*0.8) pp_bg = pp_bg.to_overlay_pic_advance( top_img=pp_jpg_1, top_png_img=pp_png_1, base="cc", value=(0, 100) ) return pp_bg # 展示鞋头放大图 def deal_pic_3(self): pp_bg = PictureProcessing(r"{}\3.jpg".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="俯视", ) if pp_jpg_1 != None and pp_png_1 != None: pp_jpg_1 = pp_jpg_1.resize(value=480) pp_png_1 = pp_png_1.resize(value=480) # 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=(133, 267), 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) # 设计理念 xiemian = self.get_text_value("鞋面") xiedian = self.get_text_value("鞋垫") neili = self.get_text_value("内里") xiedi = self.get_text_value("鞋底") all_color_name = [] for index, goods_art_no in enumerate(goods_art_no_list): color_name = self.goods_no_value["货号资料"][index]["颜色名称"] all_color_name.append(color_name) yanse = "" if len(all_color_name) >= 2: yanse = all_color_name[0] + "," + all_color_name[1] xiekuan = self.get_text_value("鞋宽") xiechang = self.get_text_value("鞋长") banggao = self.get_text_value("帮高") gengao = self.get_text_value("跟高") pp_bg.get_text_image_advanced( value=(246, 378), font=font, text="信诺", align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), ) pp_bg.get_text_image_advanced( value=(555, 378), font=font, text=xiemian, align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), max_len_one_line=6 ) pp_bg.get_text_image_advanced( value=(555, 490), font=font, text=neili, align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), max_len_one_line=6 ) pp_bg.get_text_image_advanced( value=(246, 600), font=font, text=xiedi, align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), max_len_one_line=6 ) pp_bg.get_text_image_advanced( value=(246, 490), font=font, text=xiedian, align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), max_len_one_line=6 ) pp_bg.get_text_image_advanced( value=(555, 600), font=font, text=yanse, align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), ) pp_bg.get_text_image_advanced( value=(153, 1142), font=font_hei, text=f"鞋宽\n{xiekuan}", align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), ) pp_bg.get_text_image_advanced( value=(644, 868), font=font_hei, text=f"帮高\n{banggao}", align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), ) pp_bg.get_text_image_advanced( value=(644, 948), font=font_hei, text=f"跟高\n{gengao}", align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), ) pp_bg.get_text_image_advanced( value=(437, 1123), font=font_hei, text=f"鞋长\n{xiechang}", align="left", # anchor="ma", spacing=5, fill=(69, 40, 34), return_mode="image", margins=(0, 0, 0, 0), ) return pp_bg # 展示后跟放大图 def deal_pic_4(self): detailed_images = [] pp_bg = PictureProcessing(r"{}\4.jpg".format(self.root)) pp_bg_circle = PictureProcessing(r"{}\bg_circle.png".format(self.root)) 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), # 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)) 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="侧视", ) if pp_jpg_1 != None and pp_png_1 != None: if self.check_shoe_is_right_by_pixel(im=pp_png_1.im)==True: 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.5) pp_png_1 = pp_png_1.resize(value=pp_bg.width*1.5) # pp_bg = pp_bg.paste_img(top_img=shoe_bg, value=(0, 0), base="nw") # water = PictureProcessing(r"{}\6water2.png".format(self.root)) # # pp_png_1.paste_img(top_img=water, base="cc", value=(0, 0)) pp_bg = pp_bg.to_overlay_pic_advance( mode="pixel", top_img=pp_jpg_1, base="sw", value=(50, 200), top_png_img=pp_png_1, ) return pp_bg # 产品展示,帮面等等 def deal_pic_7(self): pp_bg = PictureProcessing(r"{}\7.jpg".format(self.root)) piao = PictureProcessing(r"{}\7piao.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="俯视", ) if pp_jpg_1 != None and pp_png_1 != None: pp_jpg_1 = pp_jpg_1.resize(value=pp_bg.width/1) pp_png_1 = pp_png_1.resize(value=pp_bg.width /1) if self.check_shoe_is_right_by_pixel(im=pp_png_1.im)==False: pp_jpg_1 = pp_jpg_1.transpose() pp_png_1 = pp_png_1.transpose() pp_png_1_bg = PictureProcessing("RGBA", (pp_jpg_1.width*1.45, pp_jpg_1.width*1.45), (255,255,255,0)) pp_png_1_bg = pp_png_1_bg.paste_img( top_img=pp_png_1,base="nc", value=(0, 0) ) pp_png_1_bg = pp_png_1_bg.rotate(-45) pp_bg = pp_bg.paste_img( top_img=pp_png_1_bg,base="cc", value=(-200, 340) ) pp_bg = pp_bg.paste_img( top_img=piao, value=(50, 814) ) return pp_bg # 添加尺码表 def deal_pic_8(self): detailed_images = [] image_path = r"{}\8.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), (242,235, 227) radius_top = PictureProcessing( "RGBA", (pp_bg.width * 0.75, 40), (255, 249, 243) ).radius(value=30, circular_pos=(1, 1, 0, 0)) radius_top_bg = PictureProcessing("RGB", (pp_bg.width, 40), (255, 249, 243)) image_list = ["俯视","侧视","后跟"] goods_art_no_list = list(self.data.keys()) for i in range(0,len(goods_art_no_list)): for item in image_list: pp_bg_background = PictureProcessing( "RGB", (pp_bg.width, 800), (255, 249, 243) ) pp_bg_radius = PictureProcessing( "RGB", (pp_bg.width * 0.85, 800), (242,235, 227) ) 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[i], 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, 249, 243)) ).radius(value=30, circular_pos=(0, 0, 1, 1)) radius_bottom_bg = PictureProcessing("RGB", (pp_bg.width, 40), (255, 249, 243)) 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), (255, 249, 243)) ) return self.pp_pic_subsection( PictureProcessing(im=self.add_pic(detailed_images)) ) def deal_pic_10(self): pp_bg = PictureProcessing(r"{}\10.jpg".format(self.root)) return pp_bg def deal_pic_11(self): detailed_images = [] image_path = r"{}\11.jpg".format(self.root) pp_bg = PictureProcessing(image_path,1600) goods_art_no_list = list(self.data.keys()) text_color = (83, 59, 46) font = ImageFont.truetype(r"resources\ttf\puhui\Medium.ttf", 28) for i in range(0,len(goods_art_no_list)): pp_bg_new = copy.deepcopy(pp_bg) color_name = self.goods_no_value["货号资料"][i]["颜色名称"] text_bg = PictureProcessing("RGBA", (100, 50), (255,255,255,0)) text_bg = text_bg.get_text_image_advanced( value=(0, 0), font=font, text="● {}".format(color_name), align="left", # anchor="mm", spacing=5, fill=text_color, return_mode="image", margins=(0, 0, 0, 0), ) pp_bg_new = pp_bg_new.paste_img( top_img=text_bg, value=(180, 70) ) pp_jpg_1, pp_png_1 = self.image_one_pic( return_orign=True, goods_art_no=goods_art_no_list[i], name='俯视', ) if pp_jpg_1 != None and pp_png_1 != None: 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_new.width / 1.7) pp_png_1 = pp_png_1.resize(value=pp_bg_new.width / 1.7) pp_bg_new = pp_bg_new.to_overlay_pic_advance( top_img=pp_jpg_1, top_png_img=pp_png_1, base="nc", value=(-50, 70) ) pp_bg_new = pp_bg_new.to_overlay_pic_advance( top_img=pp_jpg_1, top_png_img=pp_png_1, base="nc", value=(50, 130) ) pp_jpg_1, pp_png_1 = self.image_one_pic( return_orign=True, goods_art_no=goods_art_no_list[i], name='侧视', ) if pp_jpg_1 != None and pp_png_1 != None: 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_new.width / 1.7) pp_png_1 = pp_png_1.resize(value=pp_bg_new.width / 1.7) pp_bg_new = pp_bg_new.to_overlay_pic_advance( top_img=pp_jpg_1, top_png_img=pp_png_1, base="nc", value=(0, 525) ) pp_jpg_1, pp_png_1 = self.image_one_pic( return_orign=True, goods_art_no=goods_art_no_list[i], name='内里', ) if pp_jpg_1 != None and pp_png_1 != None: if self.check_shoe_is_right_by_pixel(im=pp_png_1.im)==True: pp_jpg_1 = pp_jpg_1.transpose() pp_png_1 = pp_png_1.transpose() pp_jpg_1 = pp_jpg_1.resize(value=pp_bg_new.width / 2) pp_png_1 = pp_png_1.resize(value=pp_bg_new.width / 2) pp_bg_new = pp_bg_new.to_overlay_pic_advance( top_img=pp_jpg_1, top_png_img=pp_png_1, base="nc", value=(-pp_bg_new.width/4, 975) ) pp_jpg_1, pp_png_1 = self.image_one_pic( return_orign=True, goods_art_no=goods_art_no_list[i], name='鞋底', ) if pp_jpg_1 != None and pp_png_1 != None: if self.check_shoe_is_right_by_pixel(im=pp_png_1.im)==False: pp_jpg_1 = pp_jpg_1.transpose() pp_png_1 = pp_png_1.transpose() pp_jpg_1 = pp_jpg_1.resize(value=pp_bg_new.width / 2) pp_png_1 = pp_png_1.resize(value=pp_bg_new.width / 2) pp_bg_new = pp_bg_new.to_overlay_pic_advance( top_img=pp_jpg_1, top_png_img=pp_png_1, base="nc", value=(pp_bg_new.width/4, 975) ) detailed_images.append(pp_bg_new) # if i < len(goods_art_no_list) - 1: margin_bottom=PictureProcessing("RGB", (pp_bg.width, 130), (255, 249, 243)) detailed_images.append(margin_bottom) return self.pp_pic_subsection( PictureProcessing(im=self.add_pic(detailed_images)) ) def deal_pic_13(self): pp_bg = PictureProcessing(r"{}\13.jpg".format(self.root)) return pp_bg if __name__ == "__main__": d = DetailPicGet( goods_no="test", goods_no_value={}, out_put_dir="./output/xinnuo-1", test=True, ) d.run_test()