我有一个blazor-wasm应用程序,它每秒接收一次有关某些设备的信息,这些设备在笛卡尔坐标系布局中移动(X(mm(、Y(mm(,角度、速度(m/s(、电池电量(V(等(。它在数据网格和表格中显示信息,但我想添加一个位置的图形可视化。
在WPF中,我使用画布控件并缩放要在画布中显示的坐标:
当坐标和/或角度(以度为单位(发生变化时,位置将更新为新位置。
我也想在布拉佐做同样的事情,但我不知道从哪里开始。
注意:我不是在寻找代码,只是提示要使用哪种算法。
-
您可以使用HTML5 Canvas元素并在其中绘制,有点像WPF画布。很可能您会使用现有的Blazor包装器,例如https://github.com/BlazorExtensions/Canvas.
-
您还可以使用<svg>元素,并将您的设备添加为子元素。我认为如果你经常更新,它的性能会比画布差,但这是一种选择。
-
第三种选择是具有<div>with position:相对设置,然后将您的设备添加为<div>s或Blazor组件,其中包含position:absolute,然后更新它们的顶部和左侧属性以根据需要移动它们。如果您的用例足够简单,那么它可能是最直接的选项。
-
Blazor也有几个不同的图表和绘图库,但我不熟悉它们,它们可能不适合快速变化的数据。