From 6d68ba1add9131aaf7e8bf3f6c0ffcc5c86b6311 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Fri, 19 Jul 2024 15:30:21 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=20=E6=B5=8B=E8=AF=95=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9B=BE=E7=89=87=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/design/items/pipelines/split.py | 2 +- app/service/design/service.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/service/design/items/pipelines/split.py b/app/service/design/items/pipelines/split.py index aab0f8d..031d644 100644 --- a/app/service/design/items/pipelines/split.py +++ b/app/service/design/items/pipelines/split.py @@ -68,7 +68,7 @@ class Split(object): # 创建中间图层 result_pattern_image_rgba = rgb_to_rgba(result['pattern_image'], result['mask']) result_pattern_image_pil = Image.fromarray(cvtColor(result_pattern_image_rgba, COLOR_BGR2RGBA)) - result['pattern'], result['pattern_image_url'], _ = upload_png_mask(result_pattern_image_pil, f'{generate_uuid()}') + result['pattern_image'], 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 e5cfac7..03096ca 100644 --- a/app/service/design/service.py +++ b/app/service/design/service.py @@ -2,7 +2,6 @@ import concurrent.futures import io import cv2 -from PIL import Image from app.core.config import PRIORITY_DICT from app.service.design.core.layer import Layer @@ -93,11 +92,11 @@ def process_object(cfg, process_id, total): # 上传所有图片 for layer in layers: if 'image' in layer.keys() and layer['image'] is not None: - uploaded_images.append({'image_obj': layer['image'], 'image_url': layer['image_url']}) + uploaded_images.append({'image_obj': layer['image'], 'image_url': layer['image_url'], 'image_type': 'image'}) if 'pattern_image' in layer.keys() and layer['pattern_image'] is not None: - uploaded_images.append({'image_obj': layer['pattern_image'], 'image_url': layer['pattern_image_url']}) + uploaded_images.append({'image_obj': layer['pattern_image'], 'image_url': layer['pattern_image_url'], 'image_type': 'pattern_image'}) if 'mask' in layer.keys() and layer['mask'] is not None and layer['mask_url'] is not None: - uploaded_images.append({'image_obj': layer['mask'], 'image_url': layer['mask_url']}) + uploaded_images.append({'image_obj': layer['mask'], 'image_url': layer['mask_url'], 'image_type': 'mask'}) # 合成 items_response['synthesis_url'] = synthesis(layers, body_size) @@ -164,7 +163,7 @@ def process_images(images): def upload_images(image_obj): bucket_name = image_obj['image_url'].split("/", 1)[0] object_name = image_obj['image_url'].split("/", 1)[1] - if isinstance(image_obj['image_obj'], Image.Image): + if image_obj['image_type'] == 'image' or image_obj['image_type'] == 'pattern_image': image_data = io.BytesIO() image_obj['image_obj'].save(image_data, format='PNG') image_data.seek(0)