当浏览器窗口的大小有改变时,适应窗口/1:1分辨率图像效果保持不变
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
e7562fbe83
commit
c80e7ca5a9
|
|
@ -151,7 +151,9 @@ export default {
|
|||
markers: { top: '', right: '', bottom: '', left: '' },
|
||||
playClipState: false,
|
||||
wwwcIdx: 2,
|
||||
loading: false
|
||||
loading: false,
|
||||
forceFitToWindow: false,
|
||||
resizeObserver: null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
|
@ -162,17 +164,26 @@ export default {
|
|||
this.initViewport()
|
||||
})
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.resizeObserver && this.element) {
|
||||
this.resizeObserver.unobserve(this.element)
|
||||
this.resizeObserver.disconnect()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initViewport() {
|
||||
this.element = this.$refs['viewport']
|
||||
const resizeObserver = new ResizeObserver(() => {
|
||||
this.resizeObserver = new ResizeObserver(() => {
|
||||
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||
if (renderingEngine) {
|
||||
renderingEngine.resize(true, false)
|
||||
renderingEngine.resize(true, true)
|
||||
if (this.forceFitToWindow) {
|
||||
this.resize(true)
|
||||
}
|
||||
}
|
||||
})
|
||||
this.element.oncontextmenu = (e) => e.preventDefault()
|
||||
resizeObserver.observe(this.element)
|
||||
this.resizeObserver.observe(this.element)
|
||||
this.element.addEventListener('CORNERSTONE_STACK_NEW_IMAGE', this.stackNewImage)
|
||||
// this.element.addEventListener('CORNERSTONE_VOI_MODIFIED', this.voiModified)
|
||||
// this.element.addEventListener('CORNERSTONE_CAMERA_MODIFIED', this.cameraModified)
|
||||
|
|
@ -343,6 +354,7 @@ export default {
|
|||
viewport.render()
|
||||
},
|
||||
resize(forceFitToWindow) {
|
||||
this.forceFitToWindow = !!forceFitToWindow
|
||||
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||
const viewport = renderingEngine.getViewport(this.viewportId)
|
||||
if (!viewport) return
|
||||
|
|
|
|||
Loading…
Reference in New Issue