0

.Netでリアルタイム波形をプロットするための優れた設計を考えようとしています。xミリ秒ごとにサンプルが追加され、波形がページの最後にあるとき、サンプルは最初にリセットされ、既存の波形の上書きを開始します(ECG心拍数モニターのように)。

以前は、これを非常に簡単な方法で行っていました。一定の間隔で各サンプルのピクセルを描画するだけです。これは問題なく機能しましたが、グリッドなど、あらゆる種類の背景を追加しようとするとすぐに問題が発生しました。サンプル/ピクセルがグリッドと重なると、白いピクセルで上書きすることはできないため、2回目のパスでクリアするのが複雑になります。

波形を要素にするだけで、要素を移動すると背景が自動的に保存/再描画されるため、Winformsの代わりにWPFを使用する方が簡単かもしれません。

これをどのように解決しますか?

4

1 に答える 1

1

曲線をPathコントロールのDataプロパティのPathGeometry (またはStreamGeometry ) に入れることができます。

<Canvas>
    <Path Stroke="Black" StrokeThickness="3">
        <Path.Data>
            <PathGeometry>
                <PathFigure x:Name="figure" IsClosed="False">
                    <PathFigure.Segments>
                        <PolyLineSegment x:Name="polyline"/>
                    </PathFigure.Segments>
                </PathFigure>
            </PathGeometry>
        </Path.Data>
    </Path>
</Canvas>

コード ビハインドで PathGeometry を更新します。

figure.StartPoint = ...;
polyline.Points.RemoveAt(...);
polyline.Points.Add(...);
于 2013-01-19T12:28:02.070 に答える