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)