Gianni Posted December 7, 2015 Posted December 7, 2015 another small beating heart#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> HotKeySet("{ESC}", "Terminate") Local $aHeart[2] = [35880831050934, 36163356196790], $side = 7, $aPixels[49], $iHeart, $iLoop Global $hGui = GUICreate('', $side * 7, $side * 7, -1, -1, $WS_POPUPWINDOW, $WS_EX_DLGMODALFRAME + $WS_EX_TOPMOST) For $i = 0 to 48 $aPixels[$i] = GUICtrlCreateLabel('', $side * ($i - (Int($i / 7) * 7)), $side * Int($i / 7), $side, $side, -1, $GUI_WS_EX_PARENTDRAG) Next GUISetState() While 1 $iHeart = $aHeart[$iLoop] For $i = 0 To 48 GUICtrlSetBkColor($aPixels[$i], 0xFF0000 + (Not Int(Mod($iHeart, 2)) * 0x00FFFF)) $iHeart /= 2 Next $iLoop = $iLoop = 0 = Sleep(500) WEnd Func Terminate() If WinActive($hGui) Then Exit EndFunc ;==>Terminate Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt....
mikell Posted December 7, 2015 Posted December 7, 2015 (edited) Beating ? #include <GUIConstantsEx.au3> HotKeySet("{ESC}", "Terminate") $hGui = GUICreate ( 'Draw Heart Example', 300, 300 ) GUICtrlSetDefColor(0xff0000, $hGui) $h1 = GUICtrlCreateLabel(ChrW(9829), 12, -120, 300, 500) GUICtrlSetFont(-1, 340, 400, 0, "Times New Roman") $h2 = GUICtrlCreateLabel(ChrW(9829), 5, -128, 300, 500) GUICtrlSetFont(-1, 290, 400, 0, "Arial Unicode MS") GUISetState() While 1 GUICtrlSetState($h2, (BitAnd(GUICtrlGetState($h2), $GUI_SHOW) = $GUI_SHOW) ? $GUI_HIDE : $GUI_SHOW) Sleep(500) WEnd Func Terminate() If WinActive($hGui) Then Exit EndFunc ;==>Terminate Edited December 7, 2015 by mikell
wakillon Posted December 9, 2015 Posted December 9, 2015 simplified functionexpandcollapse popup#Include <GDIPlus.au3> Opt ( 'GUIOnEventMode', 1 ) Global $hGui, $hGraphic, $hBrush, $aPoints, $j = 1, $i = 8 $hGui = GUICreate ( 'Draw Heart Example', 500, 500 ) GUISetOnEvent ( -3, '_Exit' ) ; $GUI_EVENT_CLOSE GUISetState() _GDIPlus_Startup() $hGraphic = _GDIPlus_GraphicsCreateFromHWND ( $hGui ) $hBrush = _GDIPlus_BrushCreateSolid ( 0xFFFF0000 ) While 1 $i += $j WinSetTitle ( $hGui, '', 'Draw Heart Example With ' & $i & ' Points' ) $aPoints = _HeartGetPoints ( 40, 40, 420, 420, $i ) _GDIPlus_GraphicsClear ( $hGraphic, 0xFFF4F4F4 ) _GDIPlus_GraphicsFillPolygon ( $hGraphic, $aPoints, $hBrush ) Sleep ( 250 -$i*2 ) If $i = 60 Or $i = 8 Then $j = -$j Sleep ( 3000 ) EndIf WEnd Func _HeartGetPoints ( $x=0, $y=0, $iWidth=100, $iHeight=100, $iPointCount=80 ) ;~ If $iPointCount < 20 Then $iPointCount = 20 Local $aPoints[$iPointCount+1][2], $k, $fPI = ACos( -1 ) For $i = 0 To 2*$fPi Step ( 8/$iPointCount )*$fPi/4 $k+=1 If $k > UBound ( $aPoints ) -1 Then ExitLoop $aPoints[$k][0] = $x +( 16 -16*Sin( $i )^3 )*$iWidth/32 $aPoints[$k][1] = $y +( 12 -( 13*Cos( $i ) -5*Cos( 2*$i ) -2*Cos( 3*$i ) -Cos( 4*$i ) ) )*$iHeight/28 Next $aPoints[0][0] = UBound ( $aPoints ) -1 Return $aPoints EndFunc ;==> _HeartGetPoints() Func _Exit() _GDIPlus_BrushDispose ( $hBrush ) _GDIPlus_GraphicsDispose ( $hGraphic ) _GDIPlus_Shutdown() GUIDelete ( $hGui ) Exit EndFunc ;==> _Exit() AutoIt 3.3.14.2 X86 - SciTE 3.6.0 - WIN 8.1 X64 - Other Example Scripts
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