Linie mit GuiCtrlSetGraphic zeichnen

  • Hallo,

    ich hab leider dazu nichts in der Suche gefunden und inzwischen sind mir die Ideen ausgegangen, also frage ich hier mal nach:
    Ich würde gerne von Punkt A nach Punkt B eine Linie zeichnen. Für die o.g. Funktion ist in der Hilfe folgender Parameter angegeben:
    $GUI_GR_LINE
    x,y
    Draw a line.
    Jetzt würde ich gerne wissen ob x,y die Start- oder Endkoordinaten sind oder sogar Längenangaben.
    (Kein GDI+)
    Vielen Dank schon mal,Aquaplant

    Mein Ansatz:
    $eins ist zum skallieren, dass kein Wert nach oben über den Graph hinaus geht

    [autoit]

    $eins = Round((390 / $h) - 0.5, 0)
    $Hist = Round($h/5, 0)
    GUICtrlSetGraphic($Graphic, $GUI_GR_COLOR, $Farbe[0])
    For $z = 1 TO $Hist
    GUICtrlSetGraphic($Graphic, $GUI_GR_Move, 0, 390-($eins*5*$z))
    GUICtrlSetGraphic($Graphic, $GUI_GR_Line, 775, 390-($eins*5*$z))
    Next

    [/autoit]

    Einmal editiert, zuletzt von Aquaplant (16. Oktober 2012 um 19:22)

  • Hi,

    danke ich war natürlich so schlau und hab die Hex Codes verwechselt - schwarze Linien auf schwarzem Grund kann man natürlich nicht sehen ^^

    Jetzt würde es mir noch helfen wenn ich wüsste wie ich die Grafik resetten kann, dass nicht mehr die alten Punkte und Linien zu sehen sind

    Aquaplant

  • Es gibt keine Resetbefehl. Du musst einen künstlichen Buffer schaffen, das flackert dann aber. Unter Windows XP / Vista gibt es noch DoubleBuffer für Grafiken, unter 7 nicht mher. Du kannst dir ja mal die processing UDF anschauen (hier im Forum). Zeichnen mit Graphics geht fast nur für statische Bilder, wie Diagramme (siehe Graph UDF aus dem engl. Forum).

    Lerne zum Zeichnen GDi+, und/oder Direct X (vorsicht Objekte). Alternativ gibts dann noch QuickDraw, Irrlicht usw. Graphics ist nichts für dynamische Sachen ;).

  • Dann werd ich mich bei sowas in Zukunft mal an GDI+ rantasten. Aber momentan muss es noch so gehen, auch wenn unelegant: Zerstören der Grafik und neuerstellen.
    Vielen Dank :)
    Aquaplant