AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Intégrer et charger une image dans mon programme [Résolu]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
big_ben3333
Débutant
Débutant


Nombre de messages : 12
Date d'inscription : 18/06/2007

MessageSujet: Intégrer et charger une image dans mon programme [Résolu]   2007-07-01, 16:59

Bonjour,

Comment est-il possible avec AutoIT d'intégrer une image au .exe et de réussir à l'afficher dans une simple fenêtre

Je connais bien GUICtrlCreatePic() qui permet d'afficher une image externe, mais c'est génant pour la diffusion de mon programme d'avoir deux fichiers.

Merci pour vos réponses.


Dernière édition par le 2007-07-01, 20:31, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tlem
Admin
Admin


Nombre de messages : 39
Age : 49
Localisation : Bordeaux
Date d'inscription : 11/05/2007

MessageSujet: Re: Intégrer et charger une image dans mon programme [Résolu]   2007-07-01, 17:07

[quote:8ca0="big_ben3333"]Comment est-il possible avec AutoIT d'intégrer une image au .exe et de réussir à l'afficher dans une simple fenêtre [/quote]Oui, cela est possible. Utilisez : FileInstall ( "source", "dest" [, flag] )
Voir la doc pour plus d'info.

_________________
Le [b]"ça ne marche pas"[/b] est une conséquence commune découlant de beaucoups trops de raisons potentielles ...

Salutations.
Thierry
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
big_ben3333
Débutant
Débutant


Nombre de messages : 12
Date d'inscription : 18/06/2007

MessageSujet: Re: Intégrer et charger une image dans mon programme [Résolu]   2007-07-01, 18:22

Merci à toi Tlem !

[code]; Include a bitmap found in "C:\test.bmp" with the compiled program and put it in "D:\mydir\test.bmp" when it is run
$b = True
If $b = True Then FileInstall("C:\test.bmp", "D:\mydir\test.bmp")[/code]

Si j'ai bien compris la syntaxe, si j'ajoute ces ligne dans mon programme, au moment de la compilation le fichier C:\test.bmp sera ajouté au .exe généré.

Et ensuite quand je lancerai mon programme, le bmp sera extrait dans D:\mydir\test.bmp et ensuite je pourrais y accéder.

Reste à le supprimer proprement à la fermeture du programme ou c'est automatique ?

Par contre, dans l'exemple, quel est l'intérêt de la variable $b ??

Je vais faire quelques tests.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tlem
Admin
Admin


Nombre de messages : 39
Age : 49
Localisation : Bordeaux
Date d'inscription : 11/05/2007

MessageSujet: Re: Intégrer et charger une image dans mon programme [Résolu]   2007-07-01, 19:54

[quote:c233="big_ben3333"]Si j'ai bien compris la syntaxe, si j'ajoute ces ligne dans mon programme, au moment de la compilation le fichier C:test.bmp sera ajouté au .exe généré.

Et ensuite quand je lancerai mon programme, le bmp sera extrait dans D:mydirtest.bmp et ensuite je pourrais y accéder.[/quote]
Tout a fait ...

[quote:c233="big_ben3333"]Reste à le supprimer proprement à la fermeture du programme ou c'est automatique ?[/quote]
Non , il n'y à pas d'automatisme, il faut le faire soit-meme.

[quote:c233="big_ben3333"]Par contre, dans l'exemple, quel est l'intérêt de la variable $b ??[/quote]
Aucun en l'occurence, mais par contre vous pouvez tester le présence du fichier avant de le décompresser.
Pour etre plus clair, je vous conseil :[code]
$MyTmpDir=@TempDir & '\MonApp\
$MyFile='MonImage.bmp'
If Not FileExist($MyTmpDir & $MyFile) Then
If Not FileExist($MyTmpDir) Then DirCreate($MyTmpDir)
FileInstall(".\MonImage.bmp", $MyTmpDir & $MyFile)
EndIf[/code]
$MyTmpDir contiendra le chemin pour l'extraction (En l'occurence dans le répertoire temporaire de l'utilisateur) et $MyFile le nom du fichier.
Ensuite on test la présence ou non du fichier .bmp (Ca ne sert à rien de décompresser si le fichier existe déjà !), et si celui-ci n'existe pas, alors on crée le répertoire de décompression (Si non existant) et on extrait le fichier !
Vous remarquerez l'utilisation de répertoire relatif pour la source du fichier (Ce qui vous permet de stocker vos fichiers là ou ce trouve le script, et indépendement du support).
[u][b]Surtout pas de variable pour la source.[/b][/u]

Si vous avez besoin de supprimer le fichier .bmp (Et ce qui fait partie de votre code dans le répertoire temporaire), alors rajouter avant la sortie de votre code :[code]If FileExist($MyTmpDir) Then DirRemove($MyTmpDir, 1)[/code]
Mais dans ce cas, le test de présence du fichier dans le répertoire temporaire est superflus.
Mais comme il existe des utilitaires de nettoyage du PC, je laisserais les fichiers en place.

Pour infos, il existe aussi la possibilité d'inclure des icones dans les ressources de votre executable, mais pour cela, il vous faut utiliser _AutoIt3Wrapper.exe pour compiler votre exe.
Si vous utiliser Scite, alors pas de problème => ctrl+F7
Voici les élément dont vous avez besoin :[code]
#Region Compiler directives section
#AutoIt3Wrapper_Res_Icon_Add=./Res/Icon1.ico
#AutoIt3Wrapper_Res_Icon_Add=./Res/Icon2.ico
...
#EndRegion

; Pour utiliser le 1er icone en temp que icone principale dans le systray :
TraySetIcon(@ScriptName, 3)

Sleep(3000)

; Pour utiliser le 2iem icone en temp que icone principale dans le systray :

TraySetIcon(@ScriptName, 4)[/code]
En espèrant vous avoir bien éclairer.

_________________
Le [b]"ça ne marche pas"[/b] est une conséquence commune découlant de beaucoups trops de raisons potentielles ...

Salutations.
Thierry
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
big_ben3333
Débutant
Débutant


Nombre de messages : 12
Date d'inscription : 18/06/2007

MessageSujet: Re: Intégrer et charger une image dans mon programme [Résolu]   2007-07-01, 20:12

Merci beaucoup pour toutes ses informations. C'est super sympa de m'avoir consacré autant de temps !!

J'arrive bien à réccupérer mon image et à l'afficher par la suite, mais c'est une image d'arrière plan et ca me bloque l'accès de mes controles par la souris.

[code]
FileInstall("C:\logo.jpg", @TempDir & "\bg.jpg", 1)

~GUICtrlSetImage ( -1, @TempDir & "\bg.jpg") --> Marche pas
GUICtrlCreatePic(@TempDir & "\bg.jpg",0,0, 400,400) --> Me bloque les controles
[/code]

Comment peut-t'on définir proprement une image d'arrière plan ou même simplement une couleur pour ma fenêtre. J'ai longuement chercher dans la doc et je n'ai rien trouvé.

Par ailleurs où peut t'on trouver la traduction de la doc d'AutoIT ? Les liens du forum sont morts...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Tlem
Admin
Admin


Nombre de messages : 39
Age : 49
Localisation : Bordeaux
Date d'inscription : 11/05/2007

MessageSujet: Re: Intégrer et charger une image dans mon programme [Résolu]   2007-07-01, 20:23

[quote:8363="big_ben3333"]J'arrive bien à réccupérer mon image et à l'afficher par la suite, mais c'est une image d'arrière plan et ca me bloque l'accès de mes controles par la souris.[/quote]
Ceci devrait résourdre votre problème.
[code]
$Pic1 = GUICtrlCreatePic(@TempDir & "bg.jpg",0,0, 400,400)
GUICtrlSetState( $Pic1, $GUI_DISABLE)
[/code]

[quote:8363="big_ben3333"]Par ailleurs où peut t'on trouver la traduction de la doc d'AutoIT ? Les liens du forum sont morts...[/quote]
Pas d'infos a vous donner, car je n'en sais rien (Je me débrouille un peut en Anglais, donc ca me suffit).

_________________
Le [b]"ça ne marche pas"[/b] est une conséquence commune découlant de beaucoups trops de raisons potentielles ...

Salutations.
Thierry
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
big_ben3333
Débutant
Débutant


Nombre de messages : 12
Date d'inscription : 18/06/2007

MessageSujet: Re: Intégrer et charger une image dans mon programme [Résolu]   2007-07-01, 20:23

Grand merci à toi !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Intégrer et charger une image dans mon programme [Résolu]   Aujourd'hui à 10:41

Revenir en haut Aller en bas
 
Intégrer et charger une image dans mon programme [Résolu]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» comment mettre un hebergeurs d'image sur sont forum
» Intégrer le bouton ''new, lock..'' dans la case dernier message
» Comment intégrer le bouton "résolu" sur mon forum ?
» Profil : insérer une image dans la signature
» Intégrer une page HTML dans son programme ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: