guten morgen
ich suche verzweifelt an einer möglichkeit in gdiplus einen kreis transprarent zu machen und den rest schwarz. der transparente kreis soll sich auch bewegen können. also ungefähr so wie eine fernrohransicht in einem computerspiel.
ich habe mal ein beispiel gemacht damit ihr versteht was ich meine. wie man sieht ist das nicht sehr schön geskriptet und der kreis ist ein rechteck.
ich würde mich freuen wenn mir jemand ein tipp geben könnte wie ich das machen könnte.
example
Spoiler anzeigen
#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
$gui = GUICreate("Example", 400, 400)
GUISetOnEvent(-3, "close")
_GDIPlus_Startup()
$graphics = _GDIPlus_GraphicsCreateFromHWND($gui)
$bitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $graphics)
$buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
$rot = _GDIPlus_BrushCreateSolid(0xFF0000FF)
GUISetState()
$x = 0
$y = 0
While True
$info = GUIGetCursorInfo($gui)
If $info <> 0 Then
If $x <> $info[0] Or $y <> $info[1] Then
_GDIPlus_GraphicsClear($buffer, 0xFFFFFFFF)
_GDIPlus_GraphicsFillRect($buffer, 100, 100, 100, 100, $rot)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_GraphicsFillRect($buffer, 0, 0, $x - 100, 400)
_GDIPlus_GraphicsFillRect($buffer, $x + 100, 0, 400 - $x + 100, 400)
_GDIPlus_GraphicsFillRect($buffer, $x - 100, 0, 200, $y - 100)
_GDIPlus_GraphicsFillRect($buffer, $x - 100, $y + 100, 200, 400 - $y + 100)
_GDIPlus_GraphicsDrawImage($graphics, $bitmap, 0, 0)
$x = $info[0]
$y = $info[1]
EndIf
EndIf
WEnd
Func Close()
_GDIPlus_Shutdown()
Exit
EndFunc ;==>Close