修复PSD模板画布自动适配显示
- 添加自动缩放逻辑,确保模板完整显示在预览窗口内 - 避免模板超出预览区域,提升用户体验 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
046fff7f2e
commit
d4033cc201
@ -471,6 +471,20 @@ export function AgentPsdTemplateEditorDialog({
|
|||||||
setImagePlacements(initialState.imagePlacements);
|
setImagePlacements(initialState.imagePlacements);
|
||||||
setTextAssignments(initialState.textAssignments);
|
setTextAssignments(initialState.textAssignments);
|
||||||
setSelectedLayerId(getPreferredSelectedLayerId(selectedTemplate));
|
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]);
|
}, [open, selectedTemplate, sourceImageUrl]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user