在React+Vite中使用cornerstone3D无法显示图片的问题求助
React + Vite环境下Cornerstone3D渲染图片栈黑屏,报错Cannot read properties of undefined (reading 'tier')
在React和Vite环境中运行Cornerstone3D的《Render Stack of Images》教程时遇到问题:使用官方示例中的registerWebImageLoader函数(参考自Cornerstone旧版Image Loader),DOM已添加viewport容器和cornerstone-canvas,但画布始终全黑,无法显示图片。
控制台仅抛出以下错误:
init.ts:123 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'tier')
at init (init.ts:123:24)
at async App.tsx:29:36
我的代码如下:
import React, { useEffect, useRef } from "react"; import { Enums, RenderingEngine, imageLoader, init, } from "@cornerstonejs/core"; import registerWebImageLoader from "./utils/registerWebImageLoader"; const renderingEngineId = "myRenderingEngine"; const viewportId = "myViewport"; const imageIds = [ "web:https://cs3d-jpg-example.s3.us-east-2.amazonaws.com/a_vm1460.png", ]; const { ViewportType } = Enums; registerWebImageLoader(imageLoader); export default function App() { const [isInitialized, setIsInitialized] = React.useState(false); const wrapperRef = useRef<HTMLDivElement>(null); useEffect(() => { (async () => { const initializationResult = await init(); setIsInitialized(initializationResult); })(); }, []); useEffect(() => { if (!isInitialized) return; const wrapper = wrapperRef?.current; if (!wrapper) return; const renderingEngine = new RenderingEngine(renderingEngineId); renderingEngine.enableElement({ viewportId, element: wrapper, type: ViewportType.STACK, }); const viewport = renderingEngine.getViewport(viewportId); viewport.setStack(imageIds, 0); viewport.render(); }, [isInitialized]); return ( <div id={viewportId} ref={wrapperRef} style={{ height: "500px", width: "500px", }} /> ); }
另外,我尝试运行Cornerstone3D官方的webLoader示例,也出现同样的黑屏、无法显示图片的问题。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

