Angular 19项目中Fabric.js 6.7.1无法在Canvas上生效的问题求助
Angular 19项目中Fabric.js 6.7.1无法在Canvas上生效的问题求助
大家好,我在Angular 19项目里用Fabric.js 6.7.1操作HTML5 Canvas时遇到了棘手的问题——代码完全没生效!设置的Canvas背景色没显示,添加的文本也看不到,就好像这段逻辑根本没执行一样。
我是在ngAfterViewInit钩子中初始化Fabric的,具体代码如下:
ngAfterViewInit() { this.log.debug(`[FractalComponent] ngAfterViewInit`) const width = (this.fractalCanvasContainer.nativeElement as HTMLDivElement).clientWidth; const height = (this.fractalCanvasContainer.nativeElement as HTMLDivElement).clientHeight; console.log(`[FractalComponent] fractalCanvas ${JSON.stringify(this.fractalCanvas)}`) this.canvas = new Canvas(this.fractalCanvas.nativeElement, { width: width, height: height, backgroundColor: '#000000', selection: false, preserveObjectStacking: true, isDrawingMode: true, }); const text = new FabricText('Fabric.JS', { left: 0, top: 0, cornerStrokeColor: 'blue', cornerColor: 'lightblue', cornerStyle: 'circle', padding: 10, transparentCorners: false, cornerDashArray: [2, 2], borderColor: 'orange', borderDashArray: [3, 1, 3], borderScaleFactor: 2, }); const text1 = new FabricText('Hello Fabric', { left: 50, top: 30, fontSize: 24, fill: '#336699' }); this.canvas.add(text1); this.canvas.add(text); this.canvas.centerObject(text); this.canvas.setActiveObject(text); console.log(`[FractalComponent] ${JSON.stringify(this.canvas)}`) }
这段代码里我设置了Canvas的黑色背景,还添加了两段文本,甚至尝试居中并激活其中一段文本,但页面上完全看不到这些效果——背景色没出来,文本也没显示。
我的环境信息:
- Fabric.js 版本:6.7.1
- Angular 版本:19.2.0
编辑补充:我去掉了CSS里设置的背景样式后,显示情况有了变化,但依然不符合预期。点击Canvas之后,在Chromium里显示正常了,但Firefox里还是有问题。我的浏览器版本:
- Firefox:141.0.3(64位)
- Chromium:Version 139.0.7258.66(官方版本,Linux Mint 64位)
我准备了一个最小化的测试项目用来复现这个问题,希望大家能帮我看看哪里出了问题,为什么Fabric的配置完全不生效?
内容来源于stack exchange
相关产品推荐
相关产品推荐

