GDI+ Draw Strichpunkt

  • Moin also dank der Hilfe von einigen hier habe ich die Funktion auf die reihe gebracht und wie der Titel schon sagt soll die Funktion eine Gestrichelte Linie zeichen, was die auch macht aber kucks euch am besten mal an. Horizontale und Vertikale Linien Funktioniert natürlich einwandfrei nur sobald es in eine Neigung geht wird das ding Krumm und Schief und ich weiß nicht warum :-(. Ich hab es auch schon auf nem anderen Weg Probiert und zwar das ganze für jeden Strich neu berechnet aber dann wirds noch unangenehmer. Vllt fällt euch dazu ja was ein.

    Spoiler anzeigen
    [autoit]

    Func Draw_it()
    _GDIPlus_Startup()
    Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hHaupt_GUI_Handle)
    Draw_Strichpunkt(20, 20, 200, 100,10,3,1)
    EndFunc

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

    Func Draw_Strichpunkt($x1, $y1, $x2, $y2, $Abstand = 5, $Laenge = 5, $Dicke = 1, $Farbe = 0xFF000000)
    Local $hPen = _GDIPlus_PenCreate($Farbe, $Dicke)
    Local $iGes = (sqrt(($x2-$x1)^2+($y2-$y1)^2))
    Local $round = 0
    Do
    $iX1 = $x1+(($x2-$x1)/$iGes)*($round*($Abstand+$Laenge))
    $iY1 = $y1+(($y2-$y1)/$iGes)*($round*($Abstand+$Laenge))
    $iX2 = $x1+(($x2-$x1)/$iGes)*((($Laenge+$Abstand)*$round)+$Laenge)
    $iY2 = $y1+(($y2-$y1)/$iGes)*((($Laenge+$Abstand)*$round)+$Laenge)
    $round += 1
    _GDIPlus_GraphicsDrawLine($hGraphics, $iX1, $iY1, $iX2, $iY2,$hPen)
    MsgBox(0,"","Anfang : " & $iX1 & "|" & $iY1 & " Ende : " & $iX2 & "|" & $iY2)
    Until Round($iX2) >= $x2 And Round($iY2) >= $y2
    MsgBox(0,"","Fertig")
    EndFunc ;==> Draw_Strichpunkt

    [/autoit]

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.