diff --git a/app/service/design/items/clothing.py b/app/service/design/items/clothing.py index 5adcc70..f9f9561 100644 --- a/app/service/design/items/clothing.py +++ b/app/service/design/items/clothing.py @@ -36,7 +36,9 @@ class Clothing(object): position=start_point, resize_scale=self.result["resize_scale"], mask=cv2.resize(self.result['mask'], self.result["front_image"].size), - gradient_string=self.result['gradient_string'] if 'gradient_string' in self.result.keys() else "" + gradient_string=self.result['gradient_string'] if 'gradient_string' in self.result.keys() else "", + pattern_image_url=self.result['pattern_image_url'] + ) layer.insert(front_layer) @@ -51,7 +53,8 @@ class Clothing(object): position=start_point, resize_scale=self.result["resize_scale"], mask=cv2.resize(self.result['mask'], self.result["front_image"].size), - gradient_string=self.result['gradient_string'] if 'gradient_string' in self.result.keys() else "" + gradient_string=self.result['gradient_string'] if 'gradient_string' in self.result.keys() else "", + pattern_image_url=self.result['pattern_image_url'] ) layer.insert(back_layer) diff --git a/app/service/design/items/pipelines/split.py b/app/service/design/items/pipelines/split.py index 155347a..1e06712 100644 --- a/app/service/design/items/pipelines/split.py +++ b/app/service/design/items/pipelines/split.py @@ -71,6 +71,11 @@ class Split(object): result["back_image_url"] = None result["back_mask_url"] = None result['back_mask_image'] = None + + # 创建中间图层 + result_pattern_image_rgba = rgb_to_rgba((result['pattern_image'].shape[0], result['pattern_image'].shape[1]), result['pattern_image'], result['mask']) + result_pattern_image_pil = Image.fromarray(cvtColor(result_pattern_image_rgba, COLOR_BGR2RGBA)) + _, result['pattern_image_url'], _ = upload_png_mask(result_pattern_image_pil, f'{generate_uuid()}') return result except Exception as e: logging.warning(f"split runtime exception : {e} image_id : {result['image_id']}") diff --git a/app/service/design/service.py b/app/service/design/service.py index 0ba5e72..54cb45b 100644 --- a/app/service/design/service.py +++ b/app/service/design/service.py @@ -1,10 +1,10 @@ +import concurrent.futures + from app.core.config import PRIORITY_DICT from app.service.design.core.layer import Layer from app.service.design.items import build_item from app.service.design.utils.redis_utils import Redis from app.service.design.utils.synthesis_item import synthesis, synthesis_single -import concurrent.futures - from app.service.utils.decorator import RunTime @@ -96,6 +96,7 @@ def process_object(cfg, process_id, total): 'gradient_string': lay['gradient_string'] if 'gradient_string' in lay.keys() else "", 'mask_url': lay['mask_url'], 'image_url': lay['image_url'] if 'image_url' in lay.keys() else None, + 'pattern_image_url': lay['pattern_image_url'] if 'pattern_image_url' in lay.keys() else None, # 'image': lay['image'], # 'mask_image': lay['mask_image'],