Page 1 sur 1

[R] Afficher une image transparente au centre de l'écran.

Posté : sam. 20 nov. 2010 17:24
par AlapOwner
Bonjour,

Je débute dans ce language et j'aimerai bien connaitre le moyen d'afficher une image transparente au centre de l'écran. En fait ca serai pour faire un viseur. Il suffirait a la pression d'un bouton, faire apparaitre l'image. Est-ce possible?

Merci d'avance !

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : sam. 20 nov. 2010 19:29
par roselito13
Voici un exemple en utilisant l'UDF <GDIPlus.au3>

Code : Tout sélectionner

$GUI = GUICreate("Test", 250, 250, -1, -1, -1, $WS_EX_LAYERED)
; Load layered image
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images.png")
GUISetState()
 
Voila, il faut donc juste crée une GUI "invisible" et y mettre une image "visible" :)

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : lun. 22 nov. 2010 20:01
par AlapOwner
Merci de votre réponse seulement voila je débute vraiment et je ne comprend pas bien tout cela. Voila mon code selon ce que j'ai compris :oops:

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#include <GDIPlus.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("CrossHair", 185, 38, 197, 152)
Global $Button1 = GUICtrlCreateButton("Afficher le crosshair", 8, 8, 171, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
   Case $Button1
       $GUI = GUICreate("Test", 250, 250, -1, -1, -1, $WS_EX_LAYERED)
       _GDIPlus_Startup()
       $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "C:\Users\User\Desktop\AutoIT\Tuto\curseur.png")
       GUISetState()
 EndSwitch
WEnd
 
De plus j'aimerai partager ce logiciel et si on doit donner un chemin local tout le monde devrait avoir le meme ce qui n'est pas bien pratique.
Désolé si je suis vraiment un boulet ^^
Merci de votre aide.

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : mar. 23 nov. 2010 11:17
par roselito13
Voici le code :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#include <GDIPlus.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("CrossHair", 185, 38, 197, 152)
Global $Button1 = GUICtrlCreateButton("Afficher le crosshair", 8, 8, 171, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###



While 1
    $MSG = GUIGetMsg($Form1)
    Select
        Case $MSG = $Button1
            $GUI = GUICreate("Test", 250, 250, -1, -1, -1, $WS_EX_LAYERED) ;Crée une GUI "invisible"
            _GDIPlus_Startup() ;Initialise la fonction pour afficher des image PNG
            $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images.png") ;Affiche l'image PNG sur l'écran
            GUISetState()
    Endselect
WEnd
Et pour se qui est de l'image, la façon la plus simple et de la mettre a coter de l’exécuteur.
Puis pour par exemple déplacer l'image, il suffit de déplacer le GUI.

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : mar. 23 nov. 2010 20:26
par AlapOwner
Je ne comprend pas, quand j'appuie sur le bouton la deuxieme s'ouvre bien mais invisible, et l'image ne s'affiche pas.
Image

Je ne sais pas si on voit trés bien sur ce screen mais je ne suis pas en mesure d'expliquer plus :? Avez vous vous-meme essayé le code? Ca vient surement de moi mais d'où ...

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : mar. 23 nov. 2010 21:59
par Jerome
Coucou,



Il y a de grande chance pour que sa soit lié au faite que vous ayez windows 7.



Jérôme

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : mer. 24 nov. 2010 12:18
par roselito13
@AlapOwner as surement raison je suis sous Windows XP, et cela fonctionne.
Je ne connait pas d'autre solution désole :s, a voir avec un autre membre.

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : mer. 24 nov. 2010 12:44
par Jerome
Re-Coucou,



Peut - être que ce post vous aidera.





Jérôme

Re: [..] Afficher une image transparente au centre de l'écran.

Posté : jeu. 25 nov. 2010 21:52
par AlapOwner
Merci je vais chercher, je met en Résolu.

Re: [R] Afficher une image transparente au centre de l'écran.

Posté : jeu. 23 déc. 2010 12:41
par Jones
Sinon j'ai cru voir un SplashScreenPNG, il faut que je retrouve ça.

Tu peut utilisé SplashImageOn pour affiché des images bitmap, GIF et jpeg.

Edit : Voila pour la transparence : http://autoitscript.fr/forum/viewtopic. ... lit=splash

Re: [R] Afficher une image transparente au centre de l'écran.

Posté : jeu. 20 janv. 2011 11:30
par TommyDDR
... Résolu ? Je ne pense pas non ^^'

Le post n'a pourtant pas été créé le 1er avril ! :shock:

Revoyez l'aide de "_GDIPlus_ImageLoadFromFile()", en aucun cas il n'affiche une image dans une GUI. Il charge juste en memoire une image se situant dans un fichier.

Un simple GUICtrlCreatePic() devrait emplement vous suffire.
► Afficher le texte
Cependant, la partie non transparente sera toujours cliquable et activera votre fenêtre.
Pas très pratique dans un FPS.
-> Mettez le milieu de votre image en transparent.

Re: [R] Afficher une image transparente au centre de l'écran

Posté : lun. 21 mars 2011 11:42
par AlapOwner
Oups ! J'avais oublié ce projet !
Merci a tous mon probléme est effectivement résolu maintenant !