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
» Problème de math
par papydall Aujourd'hui à 1:53

» A propos des attributs de fichier
par papydall Hier à 14:33

» Problème de math
par Marc37 Sam 21 Oct 2017 - 23:04

» I Love You
par papydall Sam 21 Oct 2017 - 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Sam 21 Oct 2017 - 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Fabriquer un gif animé

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



Nombre de messages : 5953
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 : 5858
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 : 5953
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 :: Vos sources, vos utilitaires à partager-
Sauter vers: