[R] Problème de transparence GIF

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
EricF
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mar. 08 mars 2011 23:06
Status : Hors ligne

[R] Problème de transparence GIF

#1

Message 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)
Modifié en dernier par EricF le mar. 17 juil. 2012 11:56, modifié 1 fois.
Sh4dows
Status : Hors ligne

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

#2

Message 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
EricF
Niveau 4
Niveau 4
Messages : 72
Enregistré le : mar. 08 mars 2011 23:06
Status : Hors ligne

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

#3

Message 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.
Répondre