角度画布在调整大小时不刷新

安托万·奥利维尔(Antoine Olivier)

我有一个要根据窗口大小调整大小的“角度画布”。我是在组件内部这样做的:

@HostListener('window:resize', ['$event'])
onResize(event) {
    this.canvaHeight = window.innerHeight * 0.91;
    this.canvaWidth = window.innerWidth  * 0.75;
}

在我的html中:

<canvas id="canvas" #canvas width="{{ canvaWidth }}" height="{{ canvaHeight }}" (mousedown)="select($event)" (mousemove)="move($event)" (mouseup)="drop()"></canvas>

当我调整窗口大小时,画布大小会正确更改,但其上的所有内容都会消失。当我执行调用更新功能的操作时,它会重新出现。但是,如果我在onResize函数中调用它,它不会再次出现,我也不知道为什么。

@HostListener('window:resize', ['$event'])
onResize(event) {
    this.canvaHeight = window.innerHeight * 0.91;
    this.canvaWidth = window.innerWidth  * 0.75;
    this.update();
}

任何想法 ?我是否必须以某种方式刷新DOM?那怎么办呢?

编辑:如果我移动一个对象,即使它尚未重新出现,它的确也被移动了。

我还尝试了Promise和一些刷新DOM的方法,例如ApplicationRef.tick()和ChangeDetectorRef.detectChanges(),但是它不起作用

安托万·奥利维尔(Antoine Olivier)

多亏了Blindman67,我找到了一种使其工作的方法:

@HostListener('window:resize')
onResize() {
    this.canvaHeight = Math.floor(window.innerHeight * 0.91);
    this.canvaWidth = Math.floor(window.innerWidth  * 0.75);
    this.canvas.nativeElement.height = this.canvaHeight;
    this.canvas.nativeElement.width = this.canvaWidth;
    this.update();
}

(我仍然需要存储其他内容的值)

(Math.floor是更正浏览器的警告)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调整画布大小而不裁剪

来自分类Dev

调整画布大小时图像消失

来自分类Dev

调整画布大小时图像消失

来自分类Dev

调整窗口大小时刷新div

来自分类Dev

调整画布大小时,画布绘图会变形

来自分类Dev

调整画布大小时,画布绘图会变形

来自分类Dev

调整窗口大小时重新绘制/擦除画布

来自分类Dev

画布-在窗口调整大小时转换鼠标坐标

来自分类Dev

调整窗口大小时重新绘制/擦除画布

来自分类Dev

如何在窗口调整大小时重绘画布

来自分类Dev

ReactJS:调整窗口大小时如何停止屏幕刷新状态?

来自分类Dev

调整CDockablePane大小时刷新CTreeCtrl(双击标题)

来自分类Dev

在窗口调整大小时刷新SVG坐标

来自分类Dev

调整所包含图形的大小时,正确纠正FigureCanvasTkAgg画布小部件的滚动/调整大小行为

来自分类Dev

在窗口调整大小时更新角度服务变量

来自分类Dev

响应式jQuery画布,画布背景在窗口调整大小时消失

来自分类Dev

画布:在不模糊的情况下调整图像大小

来自分类Dev

Wrappanel儿童在调整窗口大小时不紧绷

来自分类Dev

调整手机屏幕大小时,对齐不居中

来自分类Dev

调整画布图像的大小

来自分类Dev

无法调整画布大小

来自分类Dev

如何调整画布大小

来自分类Dev

调整画布图像的大小

来自分类Dev

调整画布元素的大小

来自分类Dev

调整大小时的画布-保持最大宽度或高度而不会拉伸/填充

来自分类Dev

调整flex容器大小时,如何使带有画布的div缩小?

来自分类Dev

为什么在使用 Chrome for Android 在画布中调整大小时图像会变得很暗?

来自分类Dev

当MainWindow调整大小时,调整QDialog的大小

来自分类Dev

调整浏览点大小时刷新一次浏览器-JQuery

Related 相关文章

热门标签

归档