From bc1c903d38d490fdeab1c716f23488c534caed39 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Fri, 5 Jul 2024 14:04:19 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=20design=20=E7=BB=93=E6=9E=9C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=80=E4=B8=AA=E6=B2=A1=E6=9C=89=E8=B4=B4single=20?= =?UTF-8?q?print=E7=9A=84=E4=B8=AD=E9=97=B4=E5=9B=BE=E7=89=87=E7=9A=84url?= =?UTF-8?q?=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/design/items/clothing.py | 7 +++++-- app/service/design/items/pipelines/split.py | 5 +++++ app/service/design/service.py | 5 +++-- 3 files changed, 13 insertions(+), 4 deletions(-) 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'],