From db1fc8c3df2f5931255afe8be5eef17e13035a8e Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 1 Jun 2026 18:43:42 +0800 Subject: [PATCH] feat: add PSD force clipping mask option --- .../psd-templates-settings-client.tsx | 31 +++++++++++++++++++ .../agents/AgentPsdTemplateEditorDialog.tsx | 22 ++++++++++--- lib/agents/psd-template-config.ts | 2 ++ lib/agents/psd-template-renderer.ts | 27 +++++++++------- 4 files changed, 67 insertions(+), 15 deletions(-) diff --git a/app/(admin)/settings/agent-workflow/psd-templates/psd-templates-settings-client.tsx b/app/(admin)/settings/agent-workflow/psd-templates/psd-templates-settings-client.tsx index 1128ba03c..e6209e299 100644 --- a/app/(admin)/settings/agent-workflow/psd-templates/psd-templates-settings-client.tsx +++ b/app/(admin)/settings/agent-workflow/psd-templates/psd-templates-settings-client.tsx @@ -1798,6 +1798,9 @@ export function PsdTemplatesSettingsClient({ allowUserUploadOverride: checked ? false : current.allowUserUploadOverride, + forceClipMask: checked + ? false + : current.forceClipMask, }; } @@ -1834,6 +1837,9 @@ export function PsdTemplatesSettingsClient({ allowUserUploadOverride: checked ? current.allowUserUploadOverride : false, + forceClipMask: checked + ? current.forceClipMask + : false, } : { ...current, @@ -1949,6 +1955,31 @@ export function PsdTemplatesSettingsClient({ /> +
+
+
强制剪切蒙版
+
+ 开启后替换图会按当前 PSD 图层原始透明区域剪切,适合需要贴合固定形状的图片槽位。 +
+
+ + updateDraftLayer(layer.id, (current) => + current.slotType === "image" + ? { + ...current, + forceClipMask: current.isEditable + ? checked + : false, + } + : current + ) + } + /> +
+
填充模式