Richtungswechsel einer Linie

  • Hallo.
    Ich habe ein Problem, welches ich nicht lösen kann.
    Ich habe folgendes Skript:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hGui, $width = 600, $height = $width, $i = 100
    $hGui = GUICreate("GDI+", $width, $height, -1, -1)
    GUISetOnEvent(-3, "_disp")
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()
    Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphics)
    Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Global $hPen = _GDIPlus_PenCreate(0xFF990001, 2)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    _GDIPlus_GraphicsClear($hBackbuffer)
    _GDIPlus_GraphicsDrawLine($hBackbuffer, $i, 200, 240, 250, $hPen)
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    $i += 1
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _disp()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenCreate($hPen)
    _GDIPlus_Shutdown()
    GUIDelete($hGui)
    Exit
    EndFunc

    [/autoit]

    Und ich möchte nun den Punkt $i in GraphicsDrawLine so verändern, dass er von 100 bis 300 geht, und wenn
    der Punkt $i bei 300 ist, dass er von 300 bis 100 geht, und immer so weiter.

    Meine Frage: Wie mache ich das ?
    Ich versuche es schon seit Tagen, und nie klappt was.

    Ich freue mich auf antworten.

    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

    Einmal editiert, zuletzt von PrideRage (11. März 2010 um 19:14)

  • Meinst du so?

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hGui, $width = 600, $height = $width, $i = 100
    Global $fFromLeft = True
    $hGui = GUICreate("GDI+", $width, $height, -1, -1)
    GUISetOnEvent(-3, "_disp")
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()
    Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphics)
    Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Global $hPen = _GDIPlus_PenCreate(0xFF990001, 2)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch $fFromLeft
    Case True
    $i += 1
    If $i = 300 Then $fFromLeft = False
    Case False
    $i -= 1
    If $i = 100 Then $fFromLeft = True
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer)
    _GDIPlus_GraphicsDrawLine($hBackbuffer, $i, 200, 240, 250, $hPen)
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ToolTip($i)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _disp()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenCreate($hPen)
    _GDIPlus_Shutdown()
    GUIDelete($hGui)
    Exit
    EndFunc ;==>_disp

    [/autoit]
  • Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hGui, $width = 600, $height = $width, $i = 100
    $hGui = GUICreate("GDI+", $width, $height, -1, -1)
    GUISetOnEvent(-3, "_disp")
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()
    Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphics)
    Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Global $hPen = _GDIPlus_PenCreate(0xFF990001, 2)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    _GDIPlus_GraphicsClear($hBackbuffer)
    _GDIPlus_GraphicsDrawLine($hBackbuffer,Sin($i * 3.14159265358979/ 180)*100+240, Cos($i * 3.14159265358979/ 180)*100+250, 240, 250, $hPen)
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    $i -= 1
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _disp()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenCreate($hPen)
    _GDIPlus_Shutdown()
    GUIDelete($hGui)
    Exit
    EndFunc

    [/autoit]


    finde ich viel cooler :rofl: