Anpassung Oszilloskop

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von West.

    Anpassung Oszilloskop

    Hallo,

    Ich habe mit einen Datalogger mit Hilfe des Oszilloskop-Beispiel geschrieben.
    Funktioniert gut. Leider passt sich die Picture-Box immer den Werten an. Also zoomt er sich rein oder raus wenn sich der Wert ändert, zB.
    Wert 100 dann ist 100 ganz oben kommt dann eine 10 dann ist 10 ganz oben.
    Ich möchte gerne das dieses fest scaliert ist. Wie kann ich das machen??

    Wie Kann ich in dem Beispiel rc eine feste Größe vorgeben??

    Anbei der Source-Code am Beispiel wie es jetzt ist:


    Private Sub PictureBox2_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles PictureBox2.Paint

    '-----------------------------------------------------

    ' Instanzen bereitstellen:

    Dim g1 As GraphicsPath = New GraphicsPath

    '-----------------------------------------------------

    ' befüllen:

    g1.AddLines(Me.points1.ToArray)

    '-----------------------------------------------------

    ' das Um-Rechteck bestimmen:

    Dim rc1 = g1.GetBounds()

    '-----------------------------------------------------

    ' das größere von beiden:

    Dim rc = RectangleF.Union(rc1, rc2)

    '-----------------------------------------------------

    'Kurven auf Darstellungsbereich skalieren:

    g1.Warp(Me.GetPointsFromRect(), rc)


    '-----------------------------------------------------

    ' darstellen:

    e.Graphics.DrawPath(Pens.Red, g1)

    '-----------------------------------------------------
    End Sub

    Danke, konntet mir bis jetzt immer helfen.



    Die Farbe Rot ist der Moderation vorbehalten -> Farbe geändert
    -Artentus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Artentus“ ()

    West schrieb:

    Wie Kann ich in dem Beispiel rc eine feste Größe vorgeben??
    Ich gehe mal davon aus, dass Du diese Vorgabe hier meinst.
    Trage Dein Rechteck statt diesem hier ein:

    West schrieb:

    VB.NET-Quellcode

    1. ' das größere von beiden:
    2. Dim rc = RectangleF.Union(rc1, rc2)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    West schrieb:

    Was muss ich mit "rc" machen?
    Ersetze es durch Dein Rechteck. :rolleyes:

    VB.NET-Quellcode

    1. rc = New RectangleF(x0, y0, w, h)
    Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!