Page 1 sur 1
[R] Afficher un Gif animé à l'ecran
Posté : mar. 30 déc. 2008 14:43
par EvilRyu
Tout d'abord bonjour à tous et à toutes. Je suis ravi de trouver une communauté Fr sur Autoit, depuis le temps que je trifouille ce logiciel ^^.
Voilà alors j'essaie en vain de réaliser un splash d'un Gif Animé, mais il ne s'anime pas. J'ai essayé de rechercher un peu partout, mais je ne trouve pas de topic concernant ce problème ( en général ça a l'air de parler de la transparence, mais je n'en suis pas encore là :p ).
Voici le code que j'ai employé:
► Afficher le texteCode
Code : Tout sélectionner
#NoTrayIcon
#include <GUIConstants.au3>
$tempo=5000
$tamanhox=500
$tamanhoy=183
$posicaox=(@DesktopWidth/2)-($tamanhox/2)
$posicaoy=(@DesktopHeight/2)-($tamanhoy)
splashImageOn("","splash.gif",$tamanhox,$tamanhoy,$posicaox,$posicaoy,1)
$GUI = GUICreate ("Teste", $tamanhox, $tamanhoy, $posicaox, $posicaoy,$WS_POPUP, BitOR ($WS_EX_TRANSPARENT, $WS_EX_LAYERED, $WS_EX_TOPMOST))
WinSetTrans ($GUI, "", 50)
GUISetBkColor(0xffffff, $GUI)
GUISetState(@SW_SHOW,$GUI)
Sleep($tempo)
GUISetState(@SW_HIDE,$GUI)
J'espère ne pas avoir ouvert un topic qui existe déjà ailleurs ( j'ai bien cherché pourtant, mais ça me semble bizarre que le sujet n'ai pas déjà été traité...m'enfin... )
Merci a tous
Re: [..] Afficher un Gif animé à l'ecran
Posté : mar. 30 déc. 2008 17:01
par Tlem
Re: [..] Afficher un Gif animé à l'ecran
Posté : mar. 30 déc. 2008 17:16
par EvilRyu
Merci Tlem pour votre réponse, depuis hier j'ai fouillé un peu et j'ai concocté mon petit script. N'étant pas de ces personnes qui trouvent une solution et laissent les autres dans l'ignorance, je vous propose mon code, en espérant que ça puisse aider.
Ce code sert donc a Afficher une image ( en Splash ) animée par dessus les fenetres existantes.
► Afficher le texteCode
Code : Tout sélectionner
#include <GUIConstants.au3>
; Vous devez modifier 3 Attibuts dans cette page. Suivez les indications
; Votre image.GIF doit se trouver dans le même endroit que le script, si vous désirez changer, modifiez le chemin de $gif
_splash()
Func _splash()
Local $pheight = yyy, $pwidth = xxx, $oIE, $GUISet, $gif = @ScriptDir & '\IMAGE.GIF' ; yyy = Hauteur du Gif en pixels, xxx= largeur du Gif en pixels. N'oubliez pas de Modifier le nom de l'image!
_GifSet($gif, $pwidth, $pheight)
$centerx=(@DesktopWidth/2)-($pwidth/2)
$centery=(@DesktopHeight/2)-($pheight)
$oIE = ObjCreate("Shell.Explorer.2")
$oIE.document.body.style.border = "0px"
GUICreate("Gif", $pwidth, $pheight, $centerx, $centery, $WS_POPUP, $WS_EX_TOOLWINDOW)
$GUISet = GUICtrlCreateObj($oIE, -13, -17, $pwidth + 20, $pheight + 21)
$oIE.navigate ($gif)
$oIE.document.body.scroll = "no"
GUISetState()
sleep(xxx) ; xxx = Temps d'affichage du Splash ( en millisecondes, ex: 1000 = 1sec ).
EndFunc
Func _GifSet($s_gif, ByRef $pwidth, ByRef $pheight)
If FileGetSize($s_gif) > 9 Then
Local $sizes = FileRead($s_gif, 10)
ConsoleWrite("Gif version: " & StringMid($sizes,1,6) & @LF)
$pwidth = Asc(StringMid($sizes, 8, 1)) * 256 + Asc(StringMid($sizes, 7, 1))
$pheight = Asc(StringMid($sizes, 10, 1)) * 256 + Asc(StringMid($sizes, 9, 1))
ConsoleWrite($pwidth & " x " & $pheight & @LF)
EndIf
EndFunc
; By EvilRyu, with help of autoitscript.com
A bientot
Re: [R] Afficher un Gif animé à l'ecran
Posté : mar. 30 déc. 2008 17:53
par Tlem
Voici une petite amélioration du script, qui permet de rentrer tout en paramètre et de ne plus s'occuper de la taille de l'image :
► Afficher le texteCode
Code : Tout sélectionner
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#Include <GDIPlus.au3>
_splash(@ScriptDir & '\IMAGE.GIF', 5000)
Func _splash($gif, $Tempo = 2500)
If Not FileExists($gif) Then
MsgBox(16, "Erreur", "Fichier image introuvable")
Return
EndIf
_GDIPlus_Startup ()
$hImage = _GDIPlus_BitmapCreateFromFile($gif)
$pwidth = _GDIPlus_ImageGetWidth($hImage)
$pheight = _GDIPlus_ImageGetHeight($hImage)
_GDIPlus_ShutDown ()
Local $oIE, $GUISet
_GifSet($gif, $pwidth, $pheight)
$centerx=(@DesktopWidth/2)-($pwidth/2)
$centery=(@DesktopHeight/2)-($pheight)
$oIE = ObjCreate("Shell.Explorer.2")
$oIE.document.body.style.border = "0px"
GUICreate("Gif", $pwidth, $pheight, $centerx, $centery, $WS_POPUP, $WS_EX_TOOLWINDOW)
$GUISet = GUICtrlCreateObj($oIE, -13, -17, $pwidth + 20, $pheight + 21)
$oIE.navigate ($gif)
$oIE.document.body.scroll = "no"
GUISetState()
sleep($Tempo)
EndFunc
Func _GifSet($s_gif, ByRef $pwidth, ByRef $pheight)
If FileGetSize($s_gif) > 9 Then
Local $sizes = FileRead($s_gif, 10)
ConsoleWrite("Gif version: " & StringMid($sizes,1,6) & @LF)
$pwidth = Asc(StringMid($sizes, 8, 1)) * 256 + Asc(StringMid($sizes, 7, 1))
$pheight = Asc(StringMid($sizes, 10, 1)) * 256 + Asc(StringMid($sizes, 9, 1))
ConsoleWrite($pwidth & " x " & $pheight & @LF)
EndIf
EndFunc
Re: [R] Afficher un Gif animé à l'ecran
Posté : mer. 11 févr. 2009 17:45
par coke
salut
Tlem
tu pourrait expliquer comment se servir de ton code.
j'ai copier ton code dans un fichier que j'ai appellé imagesAnime.au3
dans mon autres script j'ai fait #include <imagesAnime.au3>
ensuite plus loin dans mon script j'ai mit
Code : Tout sélectionner
$gif= (@ScriptDir & '\IMAGE.GIF')
_splash($gif, $Tempo = 2500)
mais sa marche pas je vois pas comment l'utilisé.
si j'execute directement imagesAnime.au3 sa fonctionne mais je voudrais l'appelé d'un autre script
Jespère avoir était clair
Merci d'avance
Re: [R] Afficher un Gif animé à l'ecran
Posté : mer. 11 févr. 2009 21:07
par Tlem
Pensez à utiliser les balises de code...
Pour répondre à votre question, c'est tout simplement la variable de temporisation qui ne va pas.
Vous écrivez :
Code : Tout sélectionner
$gif= (@ScriptDir & '\IMAGE.GIF')
_splash($gif, $Tempo = 2500)
Or vous auriez dut écrire :
Code : Tout sélectionner
$gif= (@ScriptDir & '\IMAGE.GIF')
$Tempo = 2500
_splash($gif, $Tempo)
ou
Vous y étiez presque hein ...

Re: [R] Afficher un Gif animé à l'ecran
Posté : mer. 11 févr. 2009 22:34
par coke
Merci, dsl pour le "TU"
est t'on obligé de mettre une tempo?
merci
Re: [R] Afficher un Gif animé à l'ecran
Posté : jeu. 12 févr. 2009 06:43
par Tlem
Non, ce n'est pas obligatoire. Dans la fonction il y en à une de 2,5 secondes par défaut.
Re: [R] Afficher un Gif animé à l'ecran
Posté : sam. 14 févr. 2009 23:25
par louviou
Bonjour,
avec vos explications, j'ai bricolé gif.exe à
http://louviou.net/autoit/gif.exe
avec beaucoup d'oublis, acceptez mes excuses
pour ce "n'importe quoi" mais il fonctionne...
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <IE.au3>
Local $pheight = 160, $pwidth = 519, $oIE, $GUISet, $gif = 'http://louviou.net/JV/GIFs/peintre.gif'
_GifSet($gif, $pwidth, $pheight)
_IENavigate ($gif, "http://louviou.net/JV/GIFs/peintre.gif")
$centerx=(@DesktopWidth/2)-($pwidth/2)
$centery=(@DesktopHeight/2)-($pheight)
$oIE = ObjCreate("Shell.Explorer.2")
$oIE.document.body.style.border = "0px"
GUICreate($gif, $pwidth, $pheight, $centerx, $centery)
$GUISet = GUICtrlCreateObj($oIE, -13, -17, $pwidth + 20, $pheight + 21)
$oIE.navigate ($gif)
$oIE.document.body.scroll = "no"
GUISetState()
InputBox("Bienvenue à AutoIt", " ", "Entrez votre nom", "", 1, 1, -20, -40, $oIE)
Exit
Func _GifSet($s_gif, ByRef $pwidth, ByRef $pheight)
If FileGetSize($s_gif) > 9 Then
Local $sizes = FileRead($s_gif, 10)
ConsoleWrite("Gif version: " & StringMid($sizes,1,6) & @LF)
$pwidth = Asc(StringMid($sizes, 8, 1)) * 256 + Asc(StringMid($sizes, 7, 1))
$pheight = Asc(StringMid($sizes, 10, 1)) * 256 + Asc(StringMid($sizes, 9, 1))
ConsoleWrite($pwidth & " x " & $pheight & @LF)
EndIf
EndFunc
; By EvilRyu, with help of autoitscript.com
louviou vous remercie en vous offrant ce logo animé

Re: [R] Afficher un Gif animé à l'ecran
Posté : dim. 15 févr. 2009 00:09
par Tlem
Merci d'utiliser les balises de code lorsque vous donnez un code.
Si vous mettez le code en spoiler, ajoutez à l'intérieur du spoiler les balises de code et placez votre code au centre tel que je l'ai rectifié sur votre message.
Merci
Re: [R] Afficher un Gif animé à l'ecran
Posté : dim. 15 févr. 2009 05:13
par louviou
merci Tlem,
et voici pour 2 gifs différents sur 2 GUI successifs
Pas d'exe s'il vous plait.
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <IE.au3>
; 2 gifs animés sur 2 GUI successifs
Local $pheight = 150, $pwidth = 500, $oIE, $GUISet, $gif = 'http://louviou.net/JV/GIFs/peintre.gif'
_GifSet($gif, $pwidth, $pheight)
_IENavigate ($gif, "http://louviou.net/JV/GIFs/peintre.gif")
$centerx=(@DesktopWidth/2)-($pwidth/2)
$centery=(@DesktopHeight/2)-($pheight)
$oIE = ObjCreate("Shell.Explorer.2")
$oIE.document.body.style.border = "0px"
GUICreate($gif, 320, 150, $centerx, $centery)
$GUISet = GUICtrlCreateObj($oIE, -1, -1, $pwidth, $pheight)
$oIE.navigate ($gif)
$oIE.document.body.scroll = "no"
GUISetState()
InputBox("louviou à son chevalet", " ", "", "", 1, 1, -1, -1, $oIE)
Local $pheight = 190, $pwidth = 500, $oIE, $GUISet, $gif = 'http://louviou.net/autoit/autoit.gif'
_GifSet($gif, $pwidth, $pheight)
_IENavigate ($gif, "http://louviou.net/autoit/autoit.gif")
$centerx=(@DesktopWidth/2)-($pwidth/2)
$centery=(@DesktopHeight/2)-($pheight)
$oIE = ObjCreate("Shell.Explorer.2")
$oIE.document.body.style.border = "0px"
GUICreate($gif, 320, 190, $centerx, $centery)
$GUISet = GUICtrlCreateObj($oIE, -13, -17, $pwidth + 20, $pheight + 21)
$oIE.navigate ($gif)
$oIE.document.body.scroll = "no"
GUISetState()
InputBox("Logo AutoIt animé offert par louviou", " ", "", "", 1, 1, -1, -1, $oIE)
Exit
Func _GifSet($s_gif, ByRef $pwidth, ByRef $pheight)
If FileGetSize($s_gif) > 9 Then
Local $sizes = FileRead($s_gif, 10)
ConsoleWrite("Gif version: " & StringMid($sizes,1,6) & @LF)
$pwidth = Asc(StringMid($sizes, 8, 1)) * 256 + Asc(StringMid($sizes, 7, 1))
$pheight = Asc(StringMid($sizes, 10, 1)) * 256 + Asc(StringMid($sizes, 9, 1))
ConsoleWrite($pwidth & " x " & $pheight & @LF)
EndIf
EndFunc
; By EvilRyu, with help of autoitscript.com
Quant à positionner le MsgBox() ou le InputBx() par rapport au GUI, j'essaie un peu.
Pas d'exe s'il vous plait.
Pas d'exe s'il vous plait.
Pas d'exe s'il vous plait.
Bravo à ce forum exceptionnel
Re: [R] Afficher un Gif animé à l'ecran
Posté : mer. 25 mars 2009 16:07
par Tlem
Pour l'historique du forum et éventuellement des réponses pour le moteur de recherche, voici un lien traitant aussi des Gifs animés :
http://www.autoitscript.com/forum/index ... opic=91837
Re: [R] Afficher un Gif animé à l'ecran
Posté : jeu. 18 oct. 2012 14:50
par ludoo
Bonjour à tous ,
merci pour le partage , peut on supprimer la tempo , que le gif ne s’arrête pas de s'afficher et de l’arrêter avec une commande spécifique.