Подредактировал код от
beve кажется получилось плавное появление картинки.
файл - 2.png - находится чуть по выше.
Код:
![Выделить весь код](images/misc/selectcode.png)
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
Global $opacity = 0
$gui = GUICreate("Transparent", 0, 0, -1, -1, $WS_POPUP , $WS_EX_LAYERED)
_GDIPlus_Startup ()
$image = _GDIPlus_ImageLoadFromFile ("2.png")
SetBitMap ($gui , $image, $opacity)
GUISetState()
For $i = 0 To 255 Step 5
SetBitmap ($gui, $image, $i)
Sleep (30)
Next
Func SetBitmap($gui, $image, $opacity)
$hScrDC = _WinAPI_GetDC (0)
$hMemDC = _WinAPI_CreateCompatibleDC ($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap ($image)
$hOld = _WinAPI_SelectObject ($hMemDC, $hBitmap)
$tSize = DllStructCreate ($tagSIZE)
$pSize = DllStructGetPtr ($tSize )
DllStructSetData ($tSize, "X", _GDIPlus_ImageGetWidth ($image))
DllStructSetData ($tSize, "Y", _GDIPlus_ImageGetHeight ($image))
$tSource = DllStructCreate ($tagPOINT)
$pSource = DllStructGetPtr ($tSource)
$tBlend = DllStructCreate ($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr ($tBlend)
DllStructSetData ($tBlend, "Alpha" , $opacity)
DllStructSetData ($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow ($gui, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC (0, $hScrDC)
_WinAPI_SelectObject ($hMemDC, $hOld)
_WinAPI_DeleteObject ($hBitmap)
_WinAPI_DeleteDC ($hMemDC)
EndFunc
While GUIGetMsg () <> $GUI_EVENT_CLOSE
WEnd