Skip to content

Commit ee12a6f

Browse files
committed
feat: use auto scale
1 parent 07aea61 commit ee12a6f

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
'use client'
2+
3+
import { useEffect, useState } from 'react'
4+
5+
// 自定义 Hook:自动计算缩放比例
6+
export function useAutoScale(designWidth = 1920, designHeight = 1080) {
7+
const [scale, setScale] = useState(1)
8+
9+
useEffect(() => {
10+
const handleResize = () => {
11+
const width = window.innerWidth
12+
const height = window.innerHeight
13+
14+
const scaleX = width / designWidth
15+
const scaleY = height / designHeight
16+
const newScale = Math.min(scaleX, scaleY)
17+
18+
setScale(newScale)
19+
}
20+
21+
handleResize()
22+
window.addEventListener('resize', handleResize)
23+
return () => window.removeEventListener('resize', handleResize)
24+
}, [designWidth, designHeight])
25+
26+
return scale
27+
}

0 commit comments

Comments
 (0)