diff --git a/components/agents/AgentPsdTemplateEditorDialog.tsx b/components/agents/AgentPsdTemplateEditorDialog.tsx index 92513ab95..9b66d50d9 100644 --- a/components/agents/AgentPsdTemplateEditorDialog.tsx +++ b/components/agents/AgentPsdTemplateEditorDialog.tsx @@ -471,6 +471,20 @@ export function AgentPsdTemplateEditorDialog({ setImagePlacements(initialState.imagePlacements); setTextAssignments(initialState.textAssignments); setSelectedLayerId(getPreferredSelectedLayerId(selectedTemplate)); + + // 自动适配缩放比例 + if (selectedTemplate && previewViewportRef.current) { + const viewport = previewViewportRef.current; + const padding = 32; // 预留边距 + const availableWidth = viewport.clientWidth - padding; + const availableHeight = viewport.clientHeight - padding; + + const scaleX = availableWidth / selectedTemplate.width; + const scaleY = availableHeight / selectedTemplate.height; + const fitScale = Math.min(scaleX, scaleY, 1); // 不超过1倍 + + setStageScale(fitScale); + } }, [open, selectedTemplate, sourceImageUrl]); useEffect(() => {