diff --git a/components/agents/AgentPsdTemplateEditorDialog.tsx b/components/agents/AgentPsdTemplateEditorDialog.tsx
index c658240a6..c5433abfe 100644
--- a/components/agents/AgentPsdTemplateEditorDialog.tsx
+++ b/components/agents/AgentPsdTemplateEditorDialog.tsx
@@ -902,7 +902,7 @@ export function AgentPsdTemplateEditorDialog({
{selectedTemplate ? (
- updateImagePlacement(selectedImageLayer.id, (current) => ({
- ...current,
- scale: value[0] || 1,
- }))
- }
+ onValueChange={(value) => {
+ const newScale = value[0] || 1;
+ updateImagePlacement(selectedImageLayer.id, (current) => {
+ // 以中心点缩放,调整偏移量保持中心位置不变
+ const scaleDiff = newScale - current.scale;
+ return {
+ scale: newScale,
+ offsetX: current.offsetX,
+ offsetY: current.offsetY,
+ };
+ });
+ }}
/>