FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Simuler l’appui de n’importe quelle touche.
par papydall Hier à 23:54

» Le Forum est en vacances.
par JL35 Hier à 21:20

» Une autre façon de terminer une application.
par JL35 Mar 22 Aoû 2017 - 14:27

» Compilateur FBPano
par Mike Lun 21 Aoû 2017 - 23:17

» Pb 20 (en analyse): plantage à l'appel d'un SUB
par Jack Lun 21 Aoû 2017 - 21:58

» Pb 19 (en analyse): libellé d'erreur dans des IF imbriqués
par Jack Lun 21 Aoû 2017 - 21:55

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Lun 21 Aoû 2017 - 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Lun 21 Aoû 2017 - 5:01

» Mettre en windows en veille
par papydall Lun 21 Aoû 2017 - 4:15

» Stretch_on ne stretch plus...
par papydall Dim 20 Aoû 2017 - 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Dim 20 Aoû 2017 - 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Fabriquer un gif animé

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



Nombre de messages : 5928
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Fabriquer un gif animé   Sam 21 Mar 2015 - 1:59

La dernière animation de papydall m'a donné une idée: faire quelque chose de semblable (en beaucoup moins sophistiqué quand même) avec Panoramic, et à l'aide d'un outil extérieur bien pratique: convert.exe qui est un composant de ImageMagick très puissant et qui permet toutes sortes de fantaisies avec les images.

Le principe est de créer les images élémentaires dans un picture panoramic, de les sauvegarder en bmp, convertir en gif avec convert.exe, puis de les assembler en gif animé, toujours avec convert.

Dans l'exemple ci-dessous je me suis limité à deux images, mais évidemment il n'y a pas de limite.
Il faut donc se procurer ImageMagick (version Windows, free), puis indiquer au programme le chemin de convert.exe. Le travail se fait dans un sous-répertoire GIF de C:\TEMP qui sera créé s'il n'existe pas, et le résultat se trouvera dans ce même répertoire.

Voici (pour le texte je ne me suis pas foulé, mais on peut évidemment mettre tout ce qu'on veut, en taille, couleurs, contenu, etc etc.):
Code:
' Fabrication d'un gif animé
DIM txt$,wt%,ht%,mgh%,mgv%,bd%,cv$,f1$,f2$,fg1$,fg2$,fr$,svr$,r$
txt$ = "VIVE  PANORAMIC !"
mgh% = 30: ' marges horizontales entre texte et bord
mgv% = 20: ' marges verticales entre texte et bord
bd% = 10: ' bordure d'encadrement
cv$ = "C:\PROGRA~1\IMAGEM~1.3-Q\convert.exe": ' chemin de convert de ImageMagick
r$ = "C:\TEMP\GIF\": ' répertoire de travail: créé si inexistant
f1$ = r$+"Img01.bmp"
f2$ = r$+"Img02.bmp"
fg1$ = r$+"Img01.gif"
fg2$ = r$+"Img02.gif"
fr$ = r$+"Anime.gif"

IF DIR_EXISTS(r$)=0 THEN DIR_MAKE r$
IF FILE_EXISTS(r$+"*.gif")<>0 THEN EXECUTE_WAIT "Cmd.exe /c DEL /Q "+r$+"*.gif"
HIDE 0: FORM 10: BORDER_HIDE 10
PICTURE 11: PARENT 11,10
FONT_NAME 11,"Arial Black": FONT_SIZE 11,40: FONT_BOLD 11
wt% = TEXT_WIDTH(txt$,11): ht% = TEXT_HEIGHT(txt$,11)
WIDTH 10,wt%+2*mgh%: HEIGHT 10,ht%+2*mgv%: FULL_SPACE 11
2D_TARGET_IS 11: 2D_PEN_COLOR 180,180,180: 2D_PEN_WIDTH bd%
2D_FILL_COLOR 64,64,64
2D_RECTANGLE bd%/2,bd%/2,WIDTH(11)-bd%/2+1,HEIGHT(11)-bd%/2+1
PRINT_TARGET_IS 11: FONT_COLOR 11,255,64,64: PRINT_LOCATE mgh%,mgv%: PRINT txt$
FILE_SAVE 11,f1$: ' image rouge
FONT_COLOR 11,255,255,64: PRINT_LOCATE mgh%,mgv%: PRINT txt$
FILE_SAVE 11,f2$: ' image jaune
svr$ = DIR_CURRENT$: ' Sauvegarde répertoire courant
DIR_CHANGE r$: ' répertoire des images
EXECUTE_WAIT "Cmd.exe /c "+cv$+" "+f1$+" "+fg1$: ' conversion en gif
EXECUTE_WAIT "Cmd.exe /c "+cv$+" "+f2$+" "+fg2$: ' idem
FILE_DELETE f1$: FILE_DELETE f2$: ' suppression des bmp inutiles
' délai en 100èmes de seconde: 50 = 500 ms
' loop: nombre de bçucles à exécuter (0: infini, boucle sans fin)
EXECUTE_WAIT "Cmd.exe /c "+cv$+" -delay 50 -loop 0 *.gif "+fr$
FILE_DELETE fg1$: FILE_DELETE fg2$: ' suppression des composantes
EXECUTE r$+"Anime.gif": ' Voir le gif animé résultat
DIR_CHANGE svr$: ' Restore répertoire d'origine
TERMINATE
Le programme se termine par l'affichage du résultat
On peut imaginer de mettre ce genre de truc dans des emails pour des anniversaires, ou n'importe quoi d'autre.

21/03 petits ajustements


Dernière édition par JL35 le Sam 21 Mar 2015 - 16:44, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Fabriquer un gif animé   Sam 21 Mar 2015 - 11:27

Bonne idée JL35.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5928
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Fabriquer un gif animé   Sam 21 Mar 2015 - 16:41

Merci Jicehel.
Pour ceux qui seraient intéressés par les différents paramètres de convert.exe (et qui n'ont peur de rien !):
http://www.imagemagick.org/script/convert.php

Et j'ajouterai qu'on peut parfaitement afficher le résultat dans un programme Panoramic (avec Hviewer):
Je redonne le programme complet, avec aperçu du résultat dans une fenêtre Panoramic
Code:
' Fabrication d'un gif animé
DIM txt$,wt%,ht%,mgh%,mgv%,bd%,cv$,f1$,f2$,fg1$,fg2$,fr$,fh$,svr$,r$
txt$ = "VIVE  PANORAMIC !"
mgh% = 30: ' marges horizontales entre texte et bord
mgv% = 20: ' marges verticales entre texte et bord
bd% = 10: ' bordure d'encadrement
cv$ = "C:\PROGRA~1\IMAGEM~1.3-Q\convert.exe": ' chemin de convert de ImageMagick
r$ = "C:\TEMP\GIF": ' répertoire de travail: créé si inexistant
f1$ = r$+"Img01.bmp"
f2$ = r$+"Img02.bmp"
fg1$ = r$+"Img01.gif"
fg2$ = r$+"Img02.gif"
fr$ = r$+"Anime.gif"
fh$ = r$+"Anime.htm"

IF DIR_EXISTS(r$)=0 THEN DIR_MAKE r$
IF FILE_EXISTS(r$+"*.gif")<>0 THEN EXECUTE_WAIT "Cmd.exe /c DEL /Q "+r$+"*.gif"
BORDER_SMALL 0
PICTURE 10: FONT_NAME 10,"Arial Black": FONT_SIZE 10,40: FONT_BOLD 10
wt% = TEXT_WIDTH(txt$,10): ht% = TEXT_HEIGHT(txt$,10)
WIDTH 0,wt%+2*mgh%+50: HEIGHT 0,ht%+2*mgv%+60
WIDTH 10,wt%+2*mgh%: HEIGHT 10,ht%+2*mgv%
2D_TARGET_IS 10: 2D_PEN_COLOR 180,180,180: 2D_PEN_WIDTH bd%
2D_FILL_COLOR 64,64,64
2D_RECTANGLE bd%/2,bd%/2,WIDTH(10)-bd%/2+1,HEIGHT(10)-bd%/2+1
PRINT_TARGET_IS 10: FONT_COLOR 10,255,64,64: PRINT_LOCATE mgh%,mgv%: PRINT txt$
FILE_SAVE 10,f1$: ' image rouge
FONT_COLOR 10,255,255,64: PRINT_LOCATE mgh%,mgv%: PRINT txt$
FILE_SAVE 10,f2$: ' image jaune
svr$ = DIR_CURRENT$: ' Sauvegarde répertoire courant
DIR_CHANGE r$: ' répertoire des images
EXECUTE_WAIT "Cmd.exe /c "+cv$+" "+f1$+" "+fg1$: ' conversion en gif
EXECUTE_WAIT "Cmd.exe /c "+cv$+" "+f2$+" "+fg2$: ' idem
FILE_DELETE f1$: FILE_DELETE f2$: ' suppression des bmp inutiles
' délai en 100èmes de seconde: 50 = 500 ms
' loop: nombre de bçucles à exécuter (0: infini, boucle sans fin)
EXECUTE_WAIT "Cmd.exe /c "+cv$+" -delay 50 -loop 0 *.gif "+fr$
FILE_DELETE fg1$: FILE_DELETE fg2$: ' suppression des composantes
CAPTION 0,"APERÇU  DU  RÉSULTAT :  "+fr$
HVIEWER 12: TOP 12,0: LEFT 12,0: WIDTH 12,WIDTH(10)+30: HEIGHT 12,HEIGHT(10)+20
FILE_OPEN_WRITE 1,fh$
FILE_WRITELN 1,"<HTML>,<HEADER></HEADER><BODY>"
FILE_WRITELN 1,"<IMG SRC="+fr$+">"
FILE_WRITELN 1,"</BODY></HTML>"
FILE_CLOSE 1
FILE_LOAD 12,fh$

END
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Fabriquer un gif animé   

Revenir en haut Aller en bas
 
Fabriquer un gif animé
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Fabriquer un gif animé
» Affichage sous IE des smileys et gif animés
» un son au passage de souris sur une baniere animée (résolu)
» texte animé et roll-over
» [Resolu] Image animée décalée

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: