( panzoom ) 如何阻止图像平移出视图?

( panzoom ) How to stop Image from panning out of the view?

除了使用 Panzoom library

重置缩放以强制图像在平移时不会完全丢失之外,还有其他方法吗

const element = document.querySelector('#scene');

const zoomLevels = [0.1, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.5, 3];
let currentZoomLevel = zoomLevels[4];
const text = document.querySelector('#text');

let panZoomController = panzoom(element);
div {
  overflow: hidden;
  border: 3px solid red
}

img {
  cursor: move;
}
<script src="https://unpkg.com/panzoom@8.1.0/dist/panzoom.min.js"></script>

<body>
  <div>
    <img id="scene" src="https://www.probytes.net/wp-content/uploads/2018/01/5-1.png">
  </div>

  <br/>
<span>Image should not be Dragged /panned out of the view</span>
</body>

好像是有界限的属性

const element = document.querySelector('#scene');

const zoomLevels = [0.1, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.5, 3];
let currentZoomLevel = zoomLevels[4];
const text = document.querySelector('#text');

let panZoomController = panzoom(element, {
  bounds: true,
  boundsPadding: 0.1
});
div {
  overflow: hidden;
  border: 3px solid red
}

img {
  cursor: move;
}
<script src="https://unpkg.com/panzoom@8.1.0/dist/panzoom.min.js"></script>

<body>
  <div>
    <img id="scene" src="https://www.probytes.net/wp-content/uploads/2018/01/5-1.png">
  </div>

  <br/>
  <span>Image should not be Dragged /panned out of the view</span>
</body>

let panZoomController = panzoom(element, {
  bounds: true,
  boundsPadding: 1
});