GDI+ Problem

  • Hallo @all,
    ich versuche gerade einen Tacho in GDI+ zu schreiben (für ein Autorennspiel).
    Mein Skript:

    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GDIPlus.au3>
    $hGUI = GUICreate("GDI+", 256, 256)
    GUISetState()
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $Pen = _GDIPlus_PenCreate()
    _GDIPlus_PenSetColor($Pen, 0xFFFF0000)
    _GDIPlus_PenSetWidth($Pen, 5)
    For $i = 700 to -10000000 Step -15
    $Pfeil = _GDIPlus_GraphicsDrawLine($hGraphic, 10, $i, 126, 128, $Pen)
    sleep(100)
    GUICtrlCreatePic(@scriptDir & "\bilder\tacho_hintergrund.jpg", 0, 0, 256, 256)
    Next

    [/autoit]

    Das Problem: in der Mitte bleibt der Zeiger hängen.(siehe Unbenannt.bmp)

    kennt jemand die Lösung???
    Tachobild:

  • Meinst du sowas?

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GDIPlus.au3>

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

    $pi = 3.14159265358979
    $degToRad = $pi / 180

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

    _GDIPlus_Startup()
    $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\tacho_hintergrund.jpg")

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

    $hGUI = GUICreate("GDI+", 256, 256)
    GUISetState()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $Pen = _GDIPlus_PenCreate(0xFFFF0000, 3)

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

    For $i = 0 To 360
    $X = Round(Cos($i * $degToRad) * 100)
    $Y = Round(Sin($i * $degToRad) * 100)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, 0, 0, 256, 256)
    _GDIPlus_GraphicsDrawLine($hGraphic, 128, 128, 128 + $X, 128 + $Y, $Pen)
    Sleep(10)
    Next

    [/autoit]