浏览代码

服装背景贴图问题

rambo 3 月之前
父节点
当前提交
ea03069cae

+ 6 - 6
python/custom_plugins/plugins/detail_template/clothing/detail_clothing1.py

@@ -133,7 +133,7 @@ class DetailPicGet(DetailBase):
             mote_img = PictureProcessing(self.get_text_value(category))
             mote_img = mote_img.resize(value=resize)
         else:
-            pp_jpg, pp_png = self.image_one_pic(
+            pp_jpg, pp_png = self.image_one_pic_no_shandow(
                 return_orign=True,
                 goods_art_no=goods_art_no_list[0],
                 name=instead_category,
@@ -197,7 +197,7 @@ class DetailPicGet(DetailBase):
             category="模特图", instead_category="正面", resize=pp_1.width / 2.1
         )
         color_pic_list_1.append(pp_jpg)
-        second_pp_jpg, _ = self.image_one_pic(
+        second_pp_jpg, _ = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="背面",
@@ -207,7 +207,7 @@ class DetailPicGet(DetailBase):
         detail_2_bg = PictureProcessing(
             "RGB", (pp_1.width / 2.1, second_pp_jpg.height), (255, 255, 255)
         )
-        detail_2,_= self.image_one_pic(
+        detail_2,_= self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="背面",
@@ -218,7 +218,7 @@ class DetailPicGet(DetailBase):
         detail_3_bg = PictureProcessing(
             "RGB", (pp_1.width / 2.1, second_pp_jpg.height), (255, 255, 255)
         )
-        detail_3, _ = self.image_one_pic(
+        detail_3, _ = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="正面",
@@ -256,14 +256,14 @@ class DetailPicGet(DetailBase):
         detailed_images.append(pp_10)
         model_img = self.getSpecialImage(category="模特图", instead_category="正面", resize=pp_10.width)
         detailed_images.append(model_img)
-        pp_jpg, _ = self.image_one_pic(
+        pp_jpg, _ = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="侧视",
         )
         ceshi_img = pp_jpg.resize(value=pp_10.width)
         detailed_images.append(ceshi_img)
-        pp_jpg, _ = self.image_one_pic(
+        pp_jpg, _ = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="背面",

+ 5 - 5
python/custom_plugins/plugins/detail_template/clothing/detail_clothing2.py

@@ -113,7 +113,7 @@ class DetailPicGet(DetailBase):
             mote_img = PictureProcessing(self.get_text_value(category))
             mote_img = mote_img.resize(value=resize)
         else:
-            pp_jpg, pp_png = self.image_one_pic(
+            pp_jpg, pp_png = self.image_one_pic_no_shandow(
                 return_orign=True,
                 goods_art_no=goods_art_no_list[0],
                 name=instead_category,
@@ -222,7 +222,7 @@ class DetailPicGet(DetailBase):
         pp_10 = pp_10.paste_img(top_img=_pp, value=(465, 287), base="nw")
         detailed_images.append(pp_10)
         color_pic_list_1 = []
-        _, pp_jpg_zhengmian = self.image_one_pic(
+        _, pp_jpg_zhengmian = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="正面",
@@ -233,7 +233,7 @@ class DetailPicGet(DetailBase):
         )
         bg_img = bg_img.paste_img(top_img=pp_jpg_zhengmian, base="nc", value=(0, 0))
         color_pic_list_1.append(bg_img)
-        _, pp_jpg_beimian = self.image_one_pic(
+        _, pp_jpg_beimian = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="背面",
@@ -280,7 +280,7 @@ class DetailPicGet(DetailBase):
         detailed_images = []
         goods_art_no_list = list(self.data.keys())
         pp_10 = PictureProcessing(r"{}\10.jpg".format(self.root))
-        pp_jpg_model, _ = self.image_one_pic(
+        pp_jpg_model, _ = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="正面",
@@ -289,7 +289,7 @@ class DetailPicGet(DetailBase):
         bg_img = PictureProcessing("RGB", (pp_10.width/2.2, pp_10.height-300), (255, 255, 255))
         bg_img.paste_img(top_img=pp_jpg_model, base="nc", value=(0, 0))
         pp_10 = pp_10.paste_img(top_img=bg_img, base="en", value=(30, 80))
-        pp_jpg_model, _ = self.image_one_pic(
+        pp_jpg_model, _ = self.image_one_pic_no_shandow(
             return_orign=True,
             goods_art_no=goods_art_no_list[0],
             name="侧视",

+ 30 - 0
python/custom_plugins/plugins_mode/detail_generate_base.py

@@ -564,6 +564,36 @@ class DetailBase(object):
         else:
             return None, None
 
+    def image_one_pic_no_shandow(self, goods_art_no, name, bg_color=None, return_orign=None):
+        # 增加逻辑,获取任意货号下的组合图
+        if "组合" in name:
+            print("324==== goods_art_no, name", goods_art_no, name)
+            goods_art_no, name = self.get_all_scene_list(goods_art_no, name)
+            print("324 goods_art_no, name", goods_art_no, name)
+
+        # 制作一批素材图,添加背景色,并保留阴影,以及处理成最小尺寸
+        for pic_name, pic_path in self.data[goods_art_no]["pics"].items():
+            if "抠图" in pic_name:
+                action_name = pic_name.replace("-抠图", "")
+                if name != action_name:
+                    continue
+                colorMode = "RGB"
+                if bg_color == None:
+                    bg_color = (255,255,255)
+                img = Image.open(pic_path)
+                imgBg = Image.new(colorMode, img.size, bg_color)
+                imgBg.paste(img, (0, 0), img)  # 修复:不再将paste()的结果赋值给img
+                pp1 = PictureProcessing()
+                pp2 = PictureProcessing()
+                pp1.im = imgBg
+                pp2.im = imgBg
+                return pp1, pp2
+
+        if not return_orign:
+            return None
+        else:
+            return None, None
+
     def move_other_pic(self, move_main_pic=True):
         # ------------------------------移动其他图片------------------------------
         goods_no_main_pic_number = 0

+ 6 - 127
python/temp.py

@@ -1,127 +1,6 @@
-# from PIL import Image
-# from settings import recordDataPoint
-from service.online_request.module_online_data import OnlineDataRequest,AIGCDataRequest
-
-tempData = {
-    "code": 0,
-    "message": "",
-    "data": {
-        "error_folder_list": [],
-        "goods_no_dict": {
-            "A596371111": {
-                "款号": "A596371",
-                "货号资料": [
-                    {
-                        "货号": "A596371",
-                        "文件夹名称": "A596371",
-                        " 编号": "",
-                        "颜色名称": "黑色",
-                        "pics": {
-                            "俯视-抠图": "output/2025-08-20/A596371/阴影图处理/A596371(1)_俯视_抠图.png",
-                            "俯视-阴影": "output/2025-08-20/A596371/阴影图处理/A596371(1)_俯视_阴影.png",
-                            "侧视-抠图": "output/2025-08-20/A596371/阴影图处理/A596371(2)_侧视_抠图.png",
-                            "侧视-阴影": "output/2025-08-20/A596371/阴影图处理/A596371(2)_侧视_阴影.png",
-                            "后跟-抠图": "output/2025-08-20/A596371/阴影图处理/A596371(3)_后跟_抠图.png",
-                            "后跟-阴影": "output/2025-08-20/A596371/阴影图处理/A596371(3)_后跟_阴影.png",
-                            "鞋底-抠图": "output/2025-08-20/A596371/阴影图处理/A596371(4)_鞋底_抠图.png",
-                            "鞋底-阴影": "output/2025-08-20/A596371/阴影图处理/A596371(4)_鞋底_阴影.png",
-                            "内里-抠图": "output/2025-08-20/A596371/阴影图处理/A596371(5)_内里_抠图.png",
-                            "内里-阴影": "output/2025-08-20/A596371/阴影图处理/A596371(5)_内里_阴影.png",
-                            "其他1-抠图": "output/2025-08-20/A596371/阴影图处理/A596371(6)_其他1_抠图.png",
-                            "其他1-阴影": "output/2025-08-20/A596371/阴影图处理/A596371(6)_其他1_阴影.png",
-                            "其他0-抠图": "output/2025-08-20/A596371/阴影图处理/A596371(7)_其他0_抠图.png",
-                            "其他0-阴影": "output/2025-08-20/A596371/阴影图处理/A596371(7)_其他0_阴影.png",
-                        },
-                        "800x800": [
-                            "output/2025-08-20/A596371/800x800/A596371(1)_800.png",
-                            "output/2025-08-20/A596371/800x800/A596371(2)_800.png",
-                            "output/2025-08-20/A596371/800x800/A596371(3)_800.png",
-                            "output/2025-08-20/A596371/800x800/A596371(4)_800.png",
-                            "output/2025-08-20/A596371/800x800/A596371(5)_800.png",
-                            "output/2025-08-20/A596371/800x800/A596371(6)_800.png",
-                            "output/2025-08-20/A596371/800x800/A596371(7)_800.png",
-                        ],
-                    }
-                ],
-                "商品面料": "",
-                "商品内里": "",
-                "商品鞋底": "",
-                "鞋垫": "",
-                "商品标题": "女单鞋",
-                "商品价格": "300.00",
-            }
-        },
-        "succeed_folder_list": ["A596371"],
-        "temp_name": "huilima-1",
-        "temp_name_list": [
-            "huilima-1",
-            "huilima-2",
-            "huilima-3",
-            "huilima-4",
-            "xinnuo-1",
-            "xinnuo-2",
-            "xinnuo-3",
-            "huilima-6",
-            "xinjunlue-1",
-            "qingyangyizhan-1",
-        ],
-        "assigned_page_dict": {},
-        "excel_temp_goods_no_data": {},
-        "finally_goods_no_need_temps": {"A596371": ["huilima-1"]},
-        "config_data": {
-            "image_dir": "output/2025-08-20",
-            "image_order": "俯视,侧视,后跟,鞋底,内里,组合,组合2",
-            "goods_art_no": "",
-            "goods_art_nos": ["A596371"],
-            "is_check_number": False,
-            "resize_image_view": "后跟",
-            "cutout_mode": 1,
-            "logo_path": "",
-            "special_goods_art_no_folder_line": "",
-            "is_use_excel": False,
-            "excel_path": "",
-            "is_check_color_is_all": False,
-            "cutout_is_pass": True,
-            "assigned_page_dict": {},
-            "detail_is_pass": True,
-            "upload_is_pass": False,
-            "upload_is_enable": True,
-            "is_filter": False,
-            "temp_class": {
-                "huilima-1": "custom_plugins.plugins.detail_template.huilima.detail_huilima1.DetailPicGet",
-                "huilima-2": "custom_plugins.plugins.detail_template.huilima.detail_huilima2.DetailPicGet",
-                "huilima-3": "custom_plugins.plugins.detail_template.huilima.detail_huilima3.DetailPicGet",
-                "huilima-4": "custom_plugins.plugins.detail_template.huilima.detail_huilima4.DetailPicGet",
-                "xinnuo-1": "custom_plugins.plugins.detail_template.xinnuo.detail_xinnuo1.DetailPicGet",
-                "xinnuo-2": "custom_plugins.plugins.detail_template.xinnuo.detail_xinnuo2.DetailPicGet",
-                "xinnuo-3": "custom_plugins.plugins.detail_template.xinnuo.detail_xinnuo3.DetailPicGet",
-                "huilima-6": "custom_plugins.plugins.detail_template.huilima.detail_huilima6.DetailPicGet",
-                "xinjunlue-1": "custom_plugins.plugins.detail_template.xinjunlue.detail_xinjunlue1.DetailPicGet",
-                "qingyangyizhan-1": "custom_plugins.plugins.detail_template.qingyangyizhan.detail_qingyangyizhan1.DetailPicGet",
-            },
-            "temp_name": "huilima-1",
-            "temp_name_list": [
-                "huilima-1",
-                "huilima-2",
-                "huilima-3",
-                "huilima-4",
-                "xinnuo-1",
-                "xinnuo-2",
-                "xinnuo-3",
-                "huilima-6",
-                "xinjunlue-1",
-                "qingyangyizhan-1",
-            ],
-            "target_error_folder": "output/2025-08-20/软件-生成详情错误",
-            "success_handler": [],
-            "sign_text": "",
-        },
-    },
-}
-goods_no_dict = tempData["data"]["goods_no_dict"]
-params = []
-token = "Bearer 18323b96c68234597b1fa8d10fecb6bbe45cadc3"
-# onlineData = OnlineDataRequest(token)
-# aigc_clazz = AIGCDataRequest(token)
-# res = aigc_clazz.searchProgress(1120457)
-# print("res", res)
+from PIL import Image
+path = "output/2025-09-11/NSK002/阴影图处理/NSK002(3)_后跟_抠图.png"
+img = Image.open(path)
+imgBg = Image.new("RGB", img.size,(255,255,255))
+imgBg.paste(img, (0, 0), img)  # 修复:不再将paste()的结果赋值给img
+imgBg.show()  # 修复:显示imgBg而不是img