ich habs verstanden :O
Danke vielmals an alle !
Der Post von UEZ hat endlich dafür gesorgt, dass es Klick macht! Danke dafür.
Ich hab mal das was ich da gelernt habe versucht umzusetzen. Rausgekommen ist dabei dann folgendes:
Spoiler anzeigen
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
Opt("GUIOnEventMode", 1)
OnAutoItExitRegister("__GDIPlus_Shutdown")
_GDIPlus_Startup()
Global $iRadius = 100
Global $iWidth = 640, $iHeight = 480
$GUI_Back_Color = 0xFF000000
Dim $aPoly_k[4][2] = [[3]], $aPoly_g[4][2] = [[3]]
Dim $aM[2] = [$iWidth / 2, $iHeight / 2]
$hGUI = GUICreate("", $iWidth, $iHeight)
GUISetOnEvent(-3, "OnEvent_Eventhandler")
GUIRegisterMsg($WM_PAINT, "WM_PAINT")
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
$hBrush = _GDIPlus_BrushCreateSolid(0xFF000000 + $GUI_Back_Color)
$hPen = _GDIPlus_PenCreate(0xFF000000, 3)
$hPenW = _GDIPlus_PenCreate(0xFFFFFFFF, 3)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic)
$hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hBackbuffer,2)
GUISetState()
While 1 * Sleep(10)
_Draw()
WEnd
Func OnEvent_Eventhandler()
Switch @GUI_CtrlId
Case -3
Exit
EndSwitch
EndFunc ;==>OnEvent_Eventhandler
Func _Draw()
Local $iStep = 1
Local $deg2rad = ATan(1) * 4 / 180
Local $iEllipseCol = 0xFFEA33EE, $iTriangleCol = 0xFF6FE1EE
$iRad2 = $iRadius * 2
For $i = 0 To 720 Step $iStep
$aPoly_k[1][0] = $aM[0] + Cos($i * $deg2rad) * $iRadius
$aPoly_k[1][1] = $aM[1] + Sin($i * $deg2rad) * $iRadius
$aPoly_k[2][0] = $aM[0] + Cos(($i + 120) * $deg2rad) * $iRadius
$aPoly_k[2][1] = $aM[1] + Sin(($i + 120) * $deg2rad) * $iRadius
$aPoly_k[3][0] = $aM[0] + Cos(($i + 240) * $deg2rad) * $iRadius
$aPoly_k[3][1] = $aM[1] + Sin(($i + 240) * $deg2rad) * $iRadius
$aPoly_g[1][0] = $aM[0] + Cos((360 - $i / 2) * $deg2rad) * $iRad2
$aPoly_g[1][1] = $aM[1] + Sin((360 - $i / 2) * $deg2rad) * $iRad2
$aPoly_g[2][0] = $aM[0] + Cos(((360 - $i / 2) + 120) * $deg2rad) * $iRad2
$aPoly_g[2][1] = $aM[1] + Sin(((360 - $i / 2) + 120) * $deg2rad) * $iRad2
$aPoly_g[3][0] = $aM[0] + Cos(((360 - $i / 2) + 240) * $deg2rad) * $iRad2
$aPoly_g[3][1] = $aM[1] + Sin(((360 - $i / 2) + 240) * $deg2rad) * $iRad2
;~ _ArrayDisplay($aPoly_k)
;~ x = Xm + cos(Winkel)*Radius
_GDIPlus_GraphicsClear($hBackbuffer, $GUI_Back_Color)
_GDIPlus_BrushSetSolidColor($hBrush, $iTriangleCol)
_GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoly_g, $hBrush)
_GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoly_g, $hPenW)
_GDIPlus_BrushSetSolidColor($hBrush, 0xFFEBCC8B)
_GDIPlus_GraphicsFillEllipse($hBackbuffer, $aM[0] - $iRadius, $aM[1] - $iRadius, $iRadius * 2, $iRadius * 2, $hBrush)
_GDIPlus_GraphicsDrawEllipse($hBackbuffer, $aM[0] - $iRadius, $aM[1] - $iRadius, $iRadius * 2, $iRadius * 2, $hPen)
_GDIPlus_BrushSetSolidColor($hBrush, 0x55F59C9C)
_GDIPlus_GraphicsFillPolygon($hBackbuffer, $aPoly_k, $hBrush)
_GDIPlus_GraphicsDrawPolygon($hBackbuffer, $aPoly_k, $hPen)
_GDIPlus_BrushSetSolidColor($hBrush, 0x77EA33EE)
_GDIPlus_GraphicsFillEllipse($hBackbuffer, $aM[0] - $iRad2, $aM[1] - $iRad2, $iRad2 * 2, $iRad2 * 2, $hBrush)
_GDIPlus_GraphicsDrawEllipse($hBackbuffer, $aM[0] - $iRad2, $aM[1] - $iRad2, $iRad2 * 2, $iRad2 * 2, $hPenW)
WM_PAINT()
Next
EndFunc ;==>_Draw
Func WM_PAINT()
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $iWidth, $iHeight)
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_PAINT
Func __GDIPlus_Shutdown()
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_Shutdown()
EndFunc ;==>__GDIPlus_Shutdown
Sehr cool
//EDIT nochmal angepasst