rootx Posted May 4, 2016 Posted May 4, 2016 (edited) Hi.. In html 5 4example I use Z-index on div object to overlay the images, how could I do this for example with the object pic and another object in the gui? How can I use the transparency of a PNG file? someone has already tried? THX. Edited May 4, 2016 by rootx
AutoBert Posted May 4, 2016 Posted May 4, 2016 The Z-Order is in the order of creating. When PNG-File has transparency it is used. I use GUICtrlPic.au3 for creating Controls with PNG-image. expandcollapse popup#include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GUICtrlPic.au3> Global $aHoverBtn[5][5] $aHoverBtn[0][1] = @ScriptDir & "\Pictures\Up.png" $aHoverBtn[0][2] = @ScriptDir & "\Pictures\UpHovered.png" $aHoverBtn[0][3] = @ScriptDir & "\Pictures\UpPressed.png" $aHoverBtn[0][4] = False $aHoverBtn[1][1] = @ScriptDir & "\Pictures\Down.png" $aHoverBtn[1][2] = @ScriptDir & "\Pictures\DownHovered.png" $aHoverBtn[1][3] = @ScriptDir & "\Pictures\DownPressed.png" $aHoverBtn[1][4] = False $aHoverBtn[2][1] = @ScriptDir & "\Pictures\Left.png" $aHoverBtn[2][2] = @ScriptDir & "\Pictures\LeftHovered.png" $aHoverBtn[2][3] = @ScriptDir & "\Pictures\LeftPressed.png" $aHoverBtn[2][4] = False $aHoverBtn[3][1] = @ScriptDir & "\Pictures\Right.png" $aHoverBtn[3][2] = @ScriptDir & "\Pictures\RightHovered.png" $aHoverBtn[3][3] = @ScriptDir & "\Pictures\RightPressed.png" $aHoverBtn[3][4] = False $aHoverBtn[4][1] = @ScriptDir & "\Pictures\Exit.png" $aHoverBtn[4][2] = @ScriptDir & "\Pictures\ExitHovered.png" $aHoverBtn[4][3] = @ScriptDir & "\Pictures\ExitPressed.png" $aHoverBtn[4][4] = False Global $hGui = GUICreate("Hovered Ping-Buttons", 612, 369, 271, 235) Local $sAutoItPath = StringReplace(@AutoItExe, "autoit3.exe", "") ConsoleWrite($sAutoItPath & "Examples\GUI\msoobe.jpg" & @CRLF) Local $Background = _GUICtrlPic_Create($sAutoItPath & "Examples\GUI\msoobe.jpg", 0, 0, 612, 369, $SS_CENTERIMAGE, Default) GUICtrlSetState(-1, $Gui_DISABLE) Local $idTorus = _GUICtrlPic_Create($sAutoItPath & "Examples\GUI\Torus.png", 8, 8, 68, 71, $SS_CENTERIMAGE, Default) GUICtrlSetState(-1, $Gui_DISABLE) $aHoverBtn[0][0] = _GUICtrlPic_Create($aHoverBtn[0][1], 460, 8, 48, 48, BitOR($SS_CENTERIMAGE, $SS_NOTIFY), Default) ;Up $aHoverBtn[1][0] = _GUICtrlPic_Create($aHoverBtn[1][1], 460, 138, 48, 48, BitOR($SS_CENTERIMAGE, $SS_NOTIFY), Default) ;Down $aHoverBtn[2][0] = _GUICtrlPic_Create($aHoverBtn[2][1], 400, 73, 48, 48, BitOR($SS_CENTERIMAGE, $SS_NOTIFY), Default) ;Left $aHoverBtn[3][0] = _GUICtrlPic_Create($aHoverBtn[3][1], 520, 73, 48, 48, BitOR($SS_CENTERIMAGE, $SS_NOTIFY), Default) ;Right $aHoverBtn[4][0] = _GUICtrlPic_Create($aHoverBtn[4][1], 540, 266, 48, 48, BitOR($SS_CENTERIMAGE, $SS_NOTIFY), Default) ;Exit GUISetState() While 1 #Region ;Hover Or Not? $Info = GUIGetCursorInfo($hGui) For $i = 0 To UBound($aHoverBtn) - 1 If $Info[4] = $aHoverBtn[$i][0] Then If $aHoverBtn[$i][4] Then _GUICtrlPic_SetImage($aHoverBtn[$i][0], $aHoverBtn[$i][2], True) $aHoverBtn[$i][4] = False Else If Not $aHoverBtn[$i][4] Then _GUICtrlPic_SetImage($aHoverBtn[$i][0], $aHoverBtn[$i][1], True) $aHoverBtn[$i][4] = True EndIf Next #EndRegion ;Hover Or Not? $nMsg = GUIGetMsg() $aPos = ControlGetPos($hGui, "", $idTorus) Switch $nMsg Case $Gui_EVENT_CLOSE Exit Case $aHoverBtn[0][0] If _GuiCtrlPic_AnimButton($hGui, $aHoverBtn[0][0], $aHoverBtn[0][1], $aHoverBtn[0][3]) Then $aPos[1] -= 5 ;nach oben Case $aHoverBtn[1][0] If _GuiCtrlPic_AnimButton($hGui, $aHoverBtn[1][0], $aHoverBtn[1][1], $aHoverBtn[1][3]) Then $aPos[1] += 5 ;nach unten Case $aHoverBtn[2][0] If _GuiCtrlPic_AnimButton($hGui, $aHoverBtn[2][0], $aHoverBtn[2][1], $aHoverBtn[2][3]) Then $aPos[0] -= 5 ;nach links Case $aHoverBtn[3][0] If _GuiCtrlPic_AnimButton($hGui, $aHoverBtn[3][0], $aHoverBtn[3][1], $aHoverBtn[3][3]) Then $aPos[0] += 5 ;nach rechts Case $aHoverBtn[4][0] If _GuiCtrlPic_AnimButton($hGui, $aHoverBtn[4][0], $aHoverBtn[4][1], $aHoverBtn[4][3]) Then Exit EndSwitch ControlMove($hGui, "", $idTorus, $aPos[0], $aPos[1]) WEnd What have you tried? rootx 1
InunoTaishou Posted May 4, 2016 Posted May 4, 2016 expandcollapse popup#include <GDIPlus.au3> #include <GUIConstants.au3> #include <WinAPI.au3> Global $hMain = GUICreate("Example", 1024, 768) Global $picImage = GUICtrlCreatePic("", 0, 0, 1024, 768) Global $hHBitmapImages = CreateImage() _WinAPI_DeleteObject(GUICtrlSendMsg($picImage, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmapImages)) GUISetState(@SW_SHOW, $hMain) While (True) Switch (GUIGetMsg()) Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd _WinAPI_DeleteObject($hHBitmapImages) Func CreateImage() _GDIPlus_Startup() Local $hBitmap = _GDIPlus_BitmapCreateFromScan0(1024, 768) Local $hGraphics = _GDIPlus_ImageGetGraphicsContext($hBitmap) Local $sRegPath = "HKLM\SOFTWARE\Wow6432Node\AutoIt v3\AutoIt" Local $sAutoitPath = RegRead($sRegPath, "InstallDir") Local $hImageMsoobe = _GDIPlus_ImageLoadFromFile($sAutoitPath & "\Examples\GUI\msoobe.jpg") Local $hImageMsLogo = _GDIPlus_ImageLoadFromFile($sAutoitPath & "\Examples\GUI\mslogo.jpg") Local $hImageTorus = _GDIPlus_ImageLoadFromFile($sAutoitPath & "\Examples\GUI\torus.png") Local $hHReturn = Null _GDIPlus_GraphicsClear($hGraphics) _GDIPlus_GraphicsDrawImage($hGraphics, $hImageMsoobe, 0, 0) _GDIPlus_GraphicsDrawImage($hGraphics, $hImageMsLogo, 0, 768 - _GDIPlus_ImageGetHeight($hImageMsLogo)) _GDIPlus_GraphicsDrawImage($hGraphics, $hImageTorus, (1024 / 2) - (_GDIPlus_ImageGetWidth($hImageTorus) / 2), 0) $hHReturn = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() Return $hHReturn EndFunc ;==>DrawImages rootx and yutijang 2
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now