From f6963070fb37d626a10c3764d7a58c0302bfd9b9 Mon Sep 17 00:00:00 2001 From: zcr Date: Thu, 8 Jan 2026 13:47:44 +0800 Subject: [PATCH] =?UTF-8?q?feat=20:=20=E6=94=AF=E6=8C=81=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E5=B7=A6=E5=8F=B3=E5=90=8C=E6=97=B6=E9=95=9C=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/design_fast/utils/synthesis_item.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/service/design_fast/utils/synthesis_item.py b/app/service/design_fast/utils/synthesis_item.py index bb94f1c..0e67664 100644 --- a/app/service/design_fast/utils/synthesis_item.py +++ b/app/service/design_fast/utils/synthesis_item.py @@ -237,12 +237,21 @@ def update_base_size_priority(layers): def transpose_rotate(layer, image): - transpose = layer.get('transpose', False) + # transpose[0]是左右 transpose[1]是上下 + transpose = layer.get('transpose', [0, 0]) + rotate = layer.get('rotate', 0) paste_x, paste_y = layer['adaptive_position'][1], layer['adaptive_position'][0] - if transpose: - flip = 0 if transpose == "left_right" else 1 - image = image.transpose(flip) + + # transpose左右是1 上下是-1 + if transpose[0] == 1: + # 左右 + image = image.transpose(0) + + if transpose[1] == 1: + # 上下 + image = image.transpose(1) + if rotate: image = image.rotate(rotate, expand=True) # 4. 计算粘贴位置以保持视觉中心一致