Page 1 sur 1
[R] Images saccadées
Posté : lun. 23 févr. 2009 18:39
par L4crymal
Bonjour, j'ai créer un script vite fait là, qui permet de faire une animation grâce à 4 images.
Problème: Les images son saccadées, ou plutôt elles défilent mal, elles sautent en quelque sorte...
Enfin je m'exprime mal pour cela vous verrez par vous même ^^
Y a t-il une solution pour supprimer cela ?
PS: le script et les ressources se trouvent dans le fichier joint, IL FAUT EXTRAIRE TOUTES LES RESSOURCES AVANT D'EXÉCUTER LE SCRIPT
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 18:51
par jbnh
Mhhhh, chez moi ça va, peut être ça saute une fois toute les 10 images.
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 18:57
par L4crymal
Oui voila, ça saute toutes les 10 images environ, c'est pas toutes, c'est aléatoire quoi
C'est parce que ya aucun transition entre l'image 1 2 3 et 4 il faudrait que ça passe doucement l'une après l'autre avec 20 millisecondes de transition ça suffirait, mais est-ce possible ?
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 20:16
par Iste
hum, je suis pas sûr d'avoir compris le probleme (car chez moi tout est ok ^^')
mais peut etre que avec ce code ca sera mieux:
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
GUICreate("",200,200)
GUISetState()
Dim $char4
$sleep=200
$char1=GUICtrlCreatePic("char1.bmp",50,50)
GUICtrlSetState($char1,$GUI_HIDE)
$char2=GUICtrlCreatePic("char2.bmp",50,50)
GUICtrlSetState($char2,$GUI_HIDE)
$char3=GUICtrlCreatePic("char3.bmp",50,50)
GUICtrlSetState($char3,$GUI_HIDE)
$char4=GUICtrlCreatePic("char4.bmp",50,50)
GUICtrlSetState($char4,$GUI_HIDE)
While 1
GUICtrlSetState($char1,$GUI_SHOW)
sleep($sleep)
GUICtrlSetState($char1,$GUI_HIDE)
GUICtrlSetState($char2,$GUI_SHOW)
sleep($sleep)
GUICtrlSetState($char2,$GUI_HIDE)
GUICtrlSetState($char3,$GUI_SHOW)
sleep($sleep)
GUICtrlSetState($char3,$GUI_HIDE)
GUICtrlSetState($char4,$GUI_SHOW)
sleep($sleep)
GUICtrlSetState($char4,$GUI_HIDE)
WEnd
Car il n'est jamais bon de supprimer des truc, ca fait moche
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 20:44
par L4crymal
Aie ça change rien, regardez bien attentivement, les images de temps en temps saute, mais c'est juste un défaut qui dure une fraction de seconde.
Pour amplifier l'effet, baisser le temps d'attente à 10 milliseconde et vous verrez que ça saute beaucoup ^^
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 21:51
par Tlem
Pourquoi faire simple quand on peut faire compliqué ...
Allez, voici la solution simple.

Code : Tout sélectionner
HotKeySet("{ESC}", "Terminate")
GUICreate("",200,200)
$Pic=GUICtrlCreatePic("char1.bmp",50,50)
GUISetState()
$sleep=150
While 1
sleep($sleep)
GUICtrlSetImage ($Pic, "char2.bmp")
sleep($sleep)
GUICtrlSetImage ($Pic, "char3.bmp")
sleep($sleep)
GUICtrlSetImage ($Pic, "char4.bmp")
WEnd
Func Terminate()
Exit 0
EndFunc
J'ai rajouté le
HotKeySet pour sortir plus facilement du script.

Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 21:54
par L4crymal
Il faut les supprimer les images, sinon elle se superpose est regarder bien les bugs que ça fait au bout de 1 minute :s
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 22:50
par Tlem
Pourquoi supprimer les images puisqu'elles sont remplacées au fur et à mesure.
Après 5 minutes de test, le script fonctionne toujours parfaitement sans aucun problème d'affichage.
D'ailleurs pour corser la chose, j'en ais lancé 20 simultanément que j'ai laissé tourner pendent 5 minutes et aucun problème.

Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 23:13
par L4crymal
Eu oui mais en y regardant bien j'ai des petits pixels zarb qui se forment autour de l'image O_O
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 23:39
par Iste
ben, dans ce cas, utilise un .avi :/
J'ai pas réussit a le fair fonctioner, mais j'en ai fais un avec
ce log
Re: [..] Images saccadées
Posté : lun. 23 févr. 2009 23:43
par Tlem
Ben, c'est normale puisque c'est une image de 30X50 pixels qui est agrandie ...
Re: [..] Images saccadées
Posté : mar. 24 févr. 2009 06:49
par L4crymal
Humhum NO AVI SVP, je l'ai dit en haut... une animation avec des images ^^, a oui ??? pourquoi ya des pixel qui se créer quand on superpose les images et pourquoi yen a pas quand on les super pose pas ???
Re: [..] Images saccadées
Posté : mar. 24 févr. 2009 08:29
par Tlem
Dans l'exemple que je vous ai donné, il n'y à pas de superposition, puisque l'image est remplacée à chaque
GUICtrlSetImage.
J'ai refait un test en mettant votre script et le mien cote à cote et je ne vois aucune différence au niveau des pixels.
Voici d'ailleurs une vidéo qui le montre :
Video du test (10Mo)
Elle dure 80 secondes et montre que sur votre script (à gauche) l'image flash et pas à droite. L'enregistrement ne montre pas tous les clignotement de l'image, mais il flash 1 ou 2 fois.
Re: [..] Images saccadées
Posté : mar. 24 févr. 2009 14:11
par Iste
Pas d'avi ? remarque je suis bête... un gif annimé serait bien plus adapté ^^'
En plus, c'est facile de faire un gif rapidement avec quelque immages
Sinon pour Tlem, c'est typiquement le genre de bug qui peut se produire sur une machine, et pas une autre (peut etre suivant la puissance ou le matos)
Donc le truc est de trouver la solution qui marche pour tout le monde ^^
Enfin, je pense pas qu'avec des animation "manuel" ton script fonctionne de facon optimal L4crymal. Si vraiment tu veux lui donner que des immages, et pas de Gif ou Avi, peut etre qu'il y a un UDF qui pourrait convertir tes immages au format Gif avant de les afficher, ca ne serait pas une bonne idée ?
Voila, désolé de ne pas pouvoir aider plus
Re: [..] Images saccadées
Posté : mar. 24 févr. 2009 16:44
par L4crymal
Pas mal la petite demo Avi, ^^ dailleur Tlem vous vous êtes gourer dans l'enchainement des image, regarder bien les animations elles ne sont pas pareil ^^
Sinon pour les GIF désolé, mais j'insiste pour comprendre ce phénomène avec des ctrl d'image mais je vais essayer sans les grossir pour voir
PS: j'ai fait une petite anim sympa à voir ^^
Re: [..] Images saccadées
Posté : mar. 24 févr. 2009 16:51
par Tlem
Effectivement, autant pour moi l'image 1 n'était utilisée qu'une seule fois (à la création de l'objet
GUICtrlCreatePic et après l'enchaînement était 2,3,4,2,3,4,2,3,4 ...
Voici le code modifié, qui vous semblera sans doute plus fluide.
Code : Tout sélectionner
HotKeySet("{ESC}", "Terminate")
GUICreate("",150,150)
$Pic=GUICtrlCreatePic("",0,0)
GUISetState()
$sleep=200
While 1
sleep($sleep)
GUICtrlSetImage ($Pic, "char1.bmp")
sleep($sleep)
GUICtrlSetImage ($Pic, "char2.bmp")
sleep($sleep)
GUICtrlSetImage ($Pic, "char3.bmp")
sleep($sleep)
GUICtrlSetImage ($Pic, "char4.bmp")
WEnd
Func Terminate()
Exit 0
EndFunc
Re: [..] Images saccadées
Posté : mar. 24 févr. 2009 17:31
par L4crymal
OOOOH NIKEL ELLE NE CLIGNOTE PLUS !!! Merci ^^.
Sujet résolu