[R] Centrer une image sur splash

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

[R] Centrer une image sur splash

#1

Message par walkson »

Bonsoir,
Je viens de me créer un UDF Splash avec texte et image sur la base de SplashTextOn.
Il comprend 2 fonctions, la première configure le splash comme SplashTextOn (sans le texte) et la deuxième lance le splash avec le texte et l'image. J'ai opté cette méthode pour éviter une fonction à rallonge.
Ma première question concerne Func config_splash et le jeu de "ping pong" entre les variables pour les avoir en Global. Existe t' il une autre méthode plus simple ?
Ma deuxième question concerne le centrage automatique de l'image dans le splash. J'utilise _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, $iX, $iY) mais apparemment X et Y ne sont pas en pixel. J'ai fait plusieurs essais sans réussite.
Le script est fonctionnel sous Win 7 et Autoit v3.3.12.0
► Afficher le texte
Merci de votre aide et de vos conseils
Modifié en dernier par walkson le jeu. 06 nov. 2014 16:37, modifié 1 fois.
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Centrer une image sur splash

#2

Message par jguinch »

- Tu peux récupérer la taille de ton image avec _GDIPlus_ImageGetWidth et _GDIPlus_ImageGetHeight.
- Tu peux récupérer la taille de la fenêtre (intérieur) avec WinGetClientSize()
Reste plus qu'à positionner l'image à l'appel de _GDIPlus_GraphicsDrawImage
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Centrer une image sur splash

#3

Message par walkson »

Bonjour,
Un grand merci à jguinch, sa solution est impeccable !
Mais j'aimerais une petite explication et plus particulièrement sur WinGetClientSize()
L'aide me renvoie à "Retrieves the size of a given window's client area." mais window's client area correspond à quoi ? SplashTextOn() serait considéré comme une "fenêtre annexe" ?
Et quelle est la différence avec WinGetPos() que j'avais utilisé sans résultat convenable ?
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Centrer une image sur splash

#4

Message par jguinch »

Oui la fonction Splash te génère une fenêtre qui a ses propres propriétés : style, taille, position...
La fonction WinGetClientSize() te renvoie les dimensions intérieures de la fenêtre : c'est ce dont tu as besoin pour pouvoir positionner ton image.
Qu'est-ce que tu ne comprends pas ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Centrer une image sur splash

#5

Message par walkson »

Si je te comprend, WinGetPos() donne les dimensions extérieurs et WinGetClientSize() les dimensions intérieurs que cela soit un splash ou une GUI...
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Centrer une image sur splash

#6

Message par jguinch »

C'est ça
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Centrer une image sur splash

#7

Message par mikell »

Question idiote, dans la mesure où le splash n'est rien d'autre qu'une gui pourquoi ne pas carrément te faire ta gui avec un GuiCtrlCreatePic ?
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Centrer une image sur splash

#8

Message par walkson »

@jguinch Merci pour la réponse
@ Mikell Tout simplement je ne savais pas que le splash était une GUI (dans le sens guicreate() ) Le fait aussi qu'il y a SplashImageOn et SplashTextOn m'a laissé penser à une limite que je venais de contourner (un peu comme les limites de MsgBox si je me fais comprendre) Après le splash est facile d'utilisation
Ps ton exemple est super (malgrès la pub clandestine :wink: )
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Répondre