From cd2c56c5109b9bfd58e51b0a7823c501bfa17b10 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Wed, 6 May 2026 13:21:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E5=BA=94=E7=AA=97=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=90=8E=EF=BC=8C=E5=BD=B1=E5=83=8F=E9=A1=B5=E6=95=B0?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E4=B8=8D=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reading/dicoms3D/components/MPRViewport.vue | 12 +++++++----- .../reading/dicoms3D/components/VolumeViewport.vue | 9 ++++++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue index 0caaa393..75413209 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue @@ -41,10 +41,10 @@
Location: {{ `${Number(imageInfo.location).toFixed(digitPlaces)} mm` - }}
+ }}
Slice Thickness: {{ `${Number(imageInfo.sliceThickness).toFixed(digitPlaces)} mm` - }}
+ }}
WW/WL: {{ imageInfo.wwwc }}
@@ -564,17 +564,18 @@ export default { const renderingEngine = getRenderingEngine(this.renderingEngineId) const viewport = renderingEngine.getViewport(this.viewportId) if (!viewport) return - + let index = this.series.SliceIndex if (forceFitToWindow) { viewport.resetCamera({ resetPan: true, resetZoom: true, resetToCenter: true }) viewport.render() + this.setFullScreen(index) return } viewport.resetCamera({ resetPan: true, resetZoom: true, resetToCenter: true }) const canvas = viewport.getCanvas() || this.element.querySelector('canvas') const imageData = viewport.getImageData()?.imageData - const dimensions = imageData?.getDimensions?.() + const dimensions = imageData?.getDimensions() const imageWidth = dimensions?.[0] const imageHeight = dimensions?.[1] const canvasWidth = canvas?.clientWidth @@ -582,16 +583,17 @@ export default { if (!imageWidth || !imageHeight || !canvasWidth || !canvasHeight) { viewport.render() + this.setFullScreen(index) return } const fitScale = Math.min(canvasWidth / imageWidth, canvasHeight / imageHeight) if (fitScale > 0) { - // zoom=1 通常是 fit-to-window,这里换算为图像接近 1:1 像素显示 viewport.setZoom(1 / fitScale) } viewport.render() + this.setFullScreen(index) }, voiChange(v) { const renderingEngine = getRenderingEngine(this.renderingEngineId) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue index 29c1ffad..30ff1fa5 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/VolumeViewport.vue @@ -59,10 +59,10 @@
Location: {{ `${Number(imageInfo.location).toFixed(digitPlaces)} mm` - }}
+ }}
Slice Thickness: {{ `${Number(imageInfo.sliceThickness).toFixed(digitPlaces)} mm` - }}
+ }}
WW/WL: {{ imageInfo.wwwc }}
@@ -595,10 +595,11 @@ export default { const renderingEngine = getRenderingEngine(this.renderingEngineId) const viewport = renderingEngine.getViewport(this.viewportId) if (!viewport) return - + let index = this.series.SliceIndex if (forceFitToWindow) { viewport.resetCamera({ resetPan: true, resetZoom: true, resetToCenter: true }) viewport.render() + this.setFullScreen(index) return } @@ -613,6 +614,7 @@ export default { if (!imageWidth || !imageHeight || !canvasWidth || !canvasHeight) { viewport.render() + this.setFullScreen(index) return } @@ -622,6 +624,7 @@ export default { } viewport.render() + this.setFullScreen(index) }, voiChange(v) { const renderingEngine = getRenderingEngine(this.renderingEngineId)