Skip to content

Commit f7e6f63

Browse files
committed
add zoomSpeed parameter
1 parent b63ed8a commit f7e6f63

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

src/BootstrapBlazor/wwwroot/modules/viewer.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ export default {
1919
store: {
2020
scale: 1
2121
},
22-
options: { max: null, min: 0.195 }
22+
options: { max: null, min: 0.195 },
23+
zoomSpeed: el.querySelector('.bb-viewer-zoomspeed')
2324
},
2425
...config || {}
2526
}
@@ -145,16 +146,24 @@ export default {
145146
// 右旋转功能
146147
EventHandler.on(viewer.rotateRight, 'click', () => viewer.processImage(null, rotate => rotate + 90))
147148

149+
150+
// 配置缩放速度因子(值越大缩放越快)
151+
const BASE_SPEED = viewer.zoomSpeed ? viewer.zoomSpeed : 0.015; // 基础速度
152+
148153
const handlerWheel = e => {
149-
e.preventDefault()
150-
const wheel = e.wheelDelta || -e.detail
151-
const delta = Math.max(-1, Math.min(1, wheel))
154+
e.preventDefault();
155+
const wheel = e.wheelDelta || -e.detail;
156+
const delta = Math.max(-1, Math.min(1, wheel));
157+
158+
// 动态计算速度(按住Shift时降速)
159+
const zoomStep = e.shiftKey ? BASE_SPEED * 0.2 : BASE_SPEED;
160+
152161
if (delta > 0) {
153162
// 放大
154-
viewer.processImage(scale => scale + 0.015)
163+
viewer.processImage(scale => scale + zoomStep);
155164
} else {
156-
// 缩小
157-
viewer.processImage(scale => Math.max(0.195, scale - 0.015))
165+
// 缩小(保持最小缩放比例0.195)
166+
viewer.processImage(scale => Math.max(0.195, scale - zoomStep));
158167
}
159168
}
160169
// 鼠标放大缩小

0 commit comments

Comments
 (0)