feat 结果图宽度自适应
fix
This commit is contained in:
@@ -97,9 +97,9 @@ def process_object(cfg, process_id, total):
|
|||||||
# uploaded_images.append({'image_obj': layer['pattern_image'], 'image_url': layer['pattern_image_url'], 'image_type': 'pattern_image'})
|
# 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:
|
# 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'], 'image_type': 'mask'})
|
# uploaded_images.append({'image_obj': layer['mask'], 'image_url': layer['mask_url'], 'image_type': 'mask'})
|
||||||
|
layers, new_size = update_base_size_priority(layers, body_size)
|
||||||
# 合成
|
# 合成
|
||||||
items_response['synthesis_url'] = synthesis(layers, body_size, basic_info)
|
items_response['synthesis_url'] = synthesis(layers, new_size, basic_info)
|
||||||
|
|
||||||
for lay in layers:
|
for lay in layers:
|
||||||
items_response['layers'].append({
|
items_response['layers'].append({
|
||||||
@@ -177,3 +177,17 @@ def upload_images(image_obj):
|
|||||||
rgba_image[rgba_image[:, :, 0] == 0] = [0, 0, 0, 0]
|
rgba_image[rgba_image[:, :, 0] == 0] = [0, 0, 0, 0]
|
||||||
req = oss_upload_image(bucket=bucket_name, object_name=object_name, image_bytes=cv2.imencode('.png', rgba_image)[1])
|
req = oss_upload_image(bucket=bucket_name, object_name=object_name, image_bytes=cv2.imencode('.png', rgba_image)[1])
|
||||||
return image_obj['image_url']
|
return image_obj['image_url']
|
||||||
|
|
||||||
|
|
||||||
|
def update_base_size_priority(layers, size):
|
||||||
|
# 计算新图片的宽度和高度
|
||||||
|
max_x = max([layer["position"][1] + layer["image"].size[1] for layer in layers])
|
||||||
|
min_x = min([layer["position"][1] for layer in layers])
|
||||||
|
new_width = max(size[0], max_x - min_x)
|
||||||
|
new_height = size[1]
|
||||||
|
|
||||||
|
# 更新图片的坐标
|
||||||
|
for layer in layers:
|
||||||
|
updated_coords = [layer["position"][1] - min_x, layer["position"][0]]
|
||||||
|
layer['position'] = updated_coords
|
||||||
|
return layers, (new_width, new_height)
|
||||||
|
|||||||
Reference in New Issue
Block a user