Page 1 sur 1

[R] Problème de transparence GIF

Posté : lun. 16 juil. 2012 14:01
par EricF
Bonjour,
J'essaie désespérément depuis ce matin de rendre transparent le fond d'un GIF statique.
J'ai essayé tout ce que j'ai trouvé, rien ne marche.

Le code suivant trouvé ici fonctionne tel quel, mais si je rajoute la ligne GUICtreatePic telle quelle dans mon code, l'image n'est pas transparente.

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>

$HWnd = GUICreate("GIF", 104, 129, -1, -1, $WS_POPUP,$WS_EX_LAYERED)
GUICtrlCreatePic(@ScriptDir & "\vaca19.gif",-1,-1, 105, 130);, $SS_SUNKEN)
GUISetState()

Sleep(5000)
Exit
Voici mon code. Où est la cou*lle ?

Code : Tout sélectionner

$Form1 = GUICreate("Form1", 206, 193, 192, 124, -1, $WS_EX_LAYERED)
$Input1 = GUICtrlCreateInput("", 104, 16, 89, 21)
$Label_resultat = GUICtrlCreateLabel($resultat, 64, 96, 36, 25)
$Label_interp_imc = GUICtrlCreateLabel($interp_imc, 112, 96, 60, 25)
$pic_interp_imc = GUICtrlCreatePic($img_interp_imc, 176, 96, 15, 15)
GUICtrlCreatePic(@ScriptDir & "\vaca19.gif",0,0, 105, 130);, $SS_SUNKEN)
;~ GUICtrlCreatePic("_Images\transparent.gif", 0, 0, 0, 0)
GUISetState(@SW_SHOW)

Re: [..] Problème de transparence GIF

Posté : lun. 16 juil. 2012 14:10
par Sh4dows
Regardez du côté de l'UDF "GDIPlus" !
Il gère la transparence des PNG j'imagine qu'avec un GIF cela fonctionne.
Un topic à ce sujet http://autoitscript.fr/forum/viewtopic.php?f=20&t=6261

Re: [..] Problème de transparence GIF

Posté : mar. 17 juil. 2012 11:58
par EricF
En retrifouillant mon code, je me suis rendu compte que ça vient d'un problème de rafraîchissement. En fait, une des images a bien un fond transparent, mais pas les autres (alors qu'elles proviennent du même fichier, même couleur de fond en transparence :? ). Si j'affiche l'image transparente après une autre non transparente, le fond reste (utilisation dans les actions du bouton d'un GUICtrlSetImage). Il suffit de rajouter ça avant le GUICtrlSetImage pour contourner le problème.

Code : Tout sélectionner

GUICtrlSetImage($pic_interp_imc, "")
Reste à savoir pourquoi sur une page HTML les 3 images sont transparentes et seulement une dans AutoIt...

---Edit---
Pour ceux que ça intéresse, j'ai résolu le problème de transparence en enregistrant mes images par Paint.Net, seuil de transparence à 0.