Hallo zusammen,
Hab da mal wieder was.
Und zwar möchte ich ein PNG Bild anzeigen aber ohne ein sichtbare GUI, also wirklich nur das reine Bild. Nur irgendwie bekomme ich das nicht hin. Bekomme die GUI nicht transparent.
Hier mal mein Stand im Mom der nicht funktioniert:
[autoit]#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
Global $hGUI, $hImage, $hGraphic
[/autoit][autoit][/autoit][autoit]$x = x()
$y = y()
$hGUI = GUICreate("fk", $x, $y, (@DesktopWidth / 2) - 132, (@DesktopHeight / 2) - 132, $WS_POPUP, $WS_EX_TRANSPARENT)
[/autoit][autoit][/autoit][autoit]_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile("c:\fk.png")
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
[/autoit][autoit][/autoit][autoit]GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]HotKeySet("^!x", "MeinExit")
[/autoit][autoit][/autoit][autoit]$msg2 = GUIGetMsg()
[/autoit][autoit][/autoit][autoit]Select
Case $msg2 = $gui_event_close
Exit
EndSelect
WEnd
; Ressourcen aufräumen
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
; PNG Bild zeichnen
Func MY_WM_PAINT($hWnd, $msg, $wParam, $lParam)
_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_UPDATENOW)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_VALIDATE)
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_PAINT
Func x()
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($path)
$x = _GDIPlus_ImageGetWidth($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
Return $x
EndFunc ;==>x
Func y()
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($path)
$y = _GDIPlus_ImageGetHeight($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
Return $y
EndFunc ;==>y
Func MeinExit()
Exit
EndFunc
Alles ein wenig zusammen gewürfelt :-(.
Bild wird angezeigt nur ist halt die GUI nicht transparent. Hab dann mal das hier von BugFix gefunden, komme damit aber definitiv nicht klar.
Kann mir da einer helfen?