Hallo Leute,
ich habe evtl. einen Bug bei der Funktion _GDIPlus_GraphicsGetSmoothingMode entdeckt.
Hier mal ein Beispielscript, was ich grade auf die Schnelle gefunden habe:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
Global $width = 302
Global $height = 302
$hGUI = GUICreate("BlueJ Figuren Demo", $width, $height)
GUISetState(@SW_SHOW)
_GDIPlus_Startup()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
$Bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic) ;create bitmap
$backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
_GDIPlus_GraphicsSetSmoothingMode($backbuffer, 2)
$iMode = _GDIPlus_GraphicsGetSmoothingMode($backbuffer)
ConsoleWrite(@CRLF & $iMode)
$hBrush = _GDIPlus_BrushCreateSolid(0xFFFFFF00)
_GDIPlus_GraphicsClear($hGraphic)
_GDIPlus_GraphicsFillPie($hGraphic, $width / 2 - 60 / 2, $height / 2 - 60 / 2, 60, 60, 1, 360, $hBrush)
Local $a = 1
[/autoit] [autoit][/autoit] [autoit]While GUIGetMsg() <> $GUI_EVENT_CLOSE
_GDIPlus_GraphicsClear($backbuffer)
_GDIPlus_GraphicsFillPie($backbuffer, $a, 50, 60, 60, 1, 360, $hBrush)
_GDIPlus_GraphicsDrawImageRect($hgraphic, $bitmap, 0, 0, $width, $height)
$a += 1
Sleep(10)
WEnd
Das Problem ist, wenn ich den Smoothing Mode auf 2 setzte, bekomme ich von dem Get.. 0 zurück, wenn ich auf 0 oder 1 setzte bekomme ich 1 zurück. Also ne 0 bekomme ich garnicht zurück.
Kennt jemand das Problem auch?