It is possible to display a PNG image in a pic control using GDI+.
Example:
;coded by UEZ 2011
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
Global Const $IMAGE_BITMAP = 0
Global Const $STM_SETIMAGE = 0x0172
Global $msg
Global Const $hGUI = GUICreate("Display PNG Image in picture control", 600, 250)
Global Const $idPic = GUICtrlCreatePic("", 215, 20)
_GDIPlus_Startup()
Global Const $png = StringReplace(@AutoItExe, "autoit3.exe", "ExamplesGUITorus.png")
Global Const $hImage = _GDIPlus_ImageLoadFromFile($png)
Global Const $Bmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
_WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp))
GUISetState()
While True
$msg = GUIGetMsg()
Switch $msg
Case $idPic
MsgBox(0, "Information", "PNG image was clicked")
Case $GUI_EVENT_CLOSE
_WinAPI_DeleteObject($Bmp)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
GUIDelete($hGUI)
Exit
EndSwitch
WEnd
This example is using the png picture from the ExamplesGUI folder and displays it in a picture control.
Br,
UEZ