当浏览器窗口的大小有改变时,适应窗口/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: '' },
|
markers: { top: '', right: '', bottom: '', left: '' },
|
||||||
playClipState: false,
|
playClipState: false,
|
||||||
wwwcIdx: 2,
|
wwwcIdx: 2,
|
||||||
loading: false
|
loading: false,
|
||||||
|
forceFitToWindow: false,
|
||||||
|
resizeObserver: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -162,17 +164,26 @@ export default {
|
||||||
this.initViewport()
|
this.initViewport()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
if (this.resizeObserver && this.element) {
|
||||||
|
this.resizeObserver.unobserve(this.element)
|
||||||
|
this.resizeObserver.disconnect()
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initViewport() {
|
initViewport() {
|
||||||
this.element = this.$refs['viewport']
|
this.element = this.$refs['viewport']
|
||||||
const resizeObserver = new ResizeObserver(() => {
|
this.resizeObserver = new ResizeObserver(() => {
|
||||||
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||||
if (renderingEngine) {
|
if (renderingEngine) {
|
||||||
renderingEngine.resize(true, false)
|
renderingEngine.resize(true, true)
|
||||||
|
if (this.forceFitToWindow) {
|
||||||
|
this.resize(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.element.oncontextmenu = (e) => e.preventDefault()
|
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_STACK_NEW_IMAGE', this.stackNewImage)
|
||||||
// this.element.addEventListener('CORNERSTONE_VOI_MODIFIED', this.voiModified)
|
// this.element.addEventListener('CORNERSTONE_VOI_MODIFIED', this.voiModified)
|
||||||
// this.element.addEventListener('CORNERSTONE_CAMERA_MODIFIED', this.cameraModified)
|
// this.element.addEventListener('CORNERSTONE_CAMERA_MODIFIED', this.cameraModified)
|
||||||
|
|
@ -343,6 +354,7 @@ export default {
|
||||||
viewport.render()
|
viewport.render()
|
||||||
},
|
},
|
||||||
resize(forceFitToWindow) {
|
resize(forceFitToWindow) {
|
||||||
|
this.forceFitToWindow = !!forceFitToWindow
|
||||||
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
const renderingEngine = getRenderingEngine(this.renderingEngineId)
|
||||||
const viewport = renderingEngine.getViewport(this.viewportId)
|
const viewport = renderingEngine.getViewport(this.viewportId)
|
||||||
if (!viewport) return
|
if (!viewport) return
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue