Hallo,
ich hab mal ein Beispielscript, wo nach einer Zeit der Rand um die PNG's schwarz wird.
Weiß jemand woran das liegt?
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
Global $hImage, $hBitmap, $hBmpOn, $hBmpOff
Global $acPic[10]
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile(@DesktopDir & "\on.png")
$hBitmap = _GDIPlus_BitmapCloneArea($hImage, 0, 0, 16, 16, $GDIP_PXF32ARGB)
$hBmpOn = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
$hImage = _GDIPlus_ImageLoadFromFile(@DesktopDir & "\off.png")
$hBitmap = _GDIPlus_BitmapCloneArea($hImage, 0, 0, 16, 16, $GDIP_PXF32ARGB)
$hBmpOff = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
GUICreate("Test")
For $i = 0 To 9
$acPic[$i] = GUICtrlCreatePic("", 50 + (30 * $i), 50, 16, 16)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSendMsg($acPic[$i], 0x0172, 0, $hBmpOff)
Next
GUISetState()
While 1
For $i = 0 To 9
If Random(0, 1, 1) = 1 Then
GUICtrlSendMsg($acPic[$i], 0x0172, 0, $hBmpOn)
Else
GUICtrlSendMsg($acPic[$i], 0x0172, 0, $hBmpOff)
EndIf
Next
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_WinAPI_DeleteObject($hBmpOn)
_WinAPI_DeleteObject($hBmpOff)
Exit
EndSwitch
WEnd