확대축소100%가운데정렬

This commit is contained in:
ysCha 2026-03-31 16:34:54 +09:00
parent bb775b2847
commit 984401881d

View File

@ -489,6 +489,34 @@ export function useCanvasEvent() {
viewportTransform[5] += deltaY viewportTransform[5] += deltaY
canvas.setViewportTransform(viewportTransform) canvas.setViewportTransform(viewportTransform)
// 브라우저 스크롤을 중앙으로 조정하여 전체 canvas를 모니터 중앙에 위치
const canvasElement = canvas.getElement()
const canvasRect = canvasElement.getBoundingClientRect()
// 현재 스크롤 위치
const currentScrollTop = window.pageYOffset || document.documentElement.scrollTop
const currentScrollLeft = window.pageXOffset || document.documentElement.scrollLeft
// canvas의 현재 화면 위치
const canvasScreenTop = canvasRect.top + currentScrollTop
const canvasScreenLeft = canvasRect.left + currentScrollLeft
// 모니터 중앙
const monitorCenterX = window.innerWidth / 2
const monitorCenterY = window.innerHeight / 2
// canvas가 모니터 중앙에 오도록 스크롤 위치 계산
const targetScrollLeft = canvasScreenLeft + (canvasRect.width / 2) - monitorCenterX
const targetScrollTop = canvasScreenTop + (canvasRect.height / 2) - monitorCenterY + menuHeightOffset
// 스크롤을 중앙으로 이동
window.scrollTo({
top: targetScrollTop,
left: targetScrollLeft,
behavior: 'smooth' // 부드러운 스크롤
})
canvas.renderAll() canvas.renderAll()
} }