FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Texte en gif animé Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Texte en gif animé Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Texte en gif animé Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Texte en gif animé Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Texte en gif animé Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Texte en gif animé Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Texte en gif animé Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Texte en gif animé Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Texte en gif animé Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Texte en gif animé Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Texte en gif animé Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Texte en gif animé Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Texte en gif animé Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Texte en gif animé Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Texte en gif animé Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

 

 Texte en gif animé

Aller en bas 
2 participants
AuteurMessage
JL35




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

Texte en gif animé Empty
MessageSujet: Texte en gif animé   Texte en gif animé EmptyMar 19 Sep 2017 - 21:50

Le texte donné s'affiche lettre par lettre, de manière répétitive.
Pour des fêtes, anniversaires, etc., à insérer par exemple dans un email.
Le programme crée les images successives, mais pour l'assemblage en gif animé (je ne sais pas faire, le format est un peu complexe...) il est fait appel à une ressource externe: convert.exe, qui est un composant de ImageMagick, très puissant traitement d'images diverses (freeware, évidemment).
Téléchargeable ici (version Windows): https://www.imagemagick.org/script/download.php#windows.

Ci-dessous l'appel à la sub, la sub de création et d'assemblage des images elle-même, puis la sub de visualisation du résultat:
Code:
DIM txt$,fnt$,sz%,enr%,ctx%,cfd%,delai%,fr$

txt$ = "Bonsoir les Panoramiciens !"
fnt$ = "Arial": sz% = 28: enr% = 3
ctx% = 255*65536: cfd% = 255*65536+255*256
delai% = 15: ' 15/100° de seconde entre les lettres
fr$ = "C:\TEMP\Pano.gif"
Text_Anim(txt$,fnt$,sz%,enr%,ctx%,cfd%,delai%,fr$)
Gifanime(fr$,10,20): ' affichage du résultat
END
' ==============================================================================
SUB Text_Anim(txt$,fnt$,sz%,enr%,ctx%,cfd%,delai%,fr$)
  ' Création d'un texte animé (écriture progressive) en gif animé dans fr$
  ' txt$ = texte, fnt% = police, sz% = taille, enr% = enrichissements
  ' (=1 gras, =2 italique, =4 souligné, combinables)
  ' ctx% = couleur texte, cfd% = couleur fond (de la forme R*65536+G*256+B)
  ' delai% = intervalle d'affichage des lettres en 100° de seconde
  DIM_LOCAL cv$,p%,i%,j%,rr$,rc$,r%,g%,b%,w%,x%,a$,fas$,q$,fita
  cv$ = "C:\PROGRA~1\IMAGEM~1.3-Q\convert.exe": ' <=== chemin de convert.exe, à ajuster
  rr$= "C:\TEMP\Gifani"
  fas$ = "Anim.gif"
  q$ = CHR$(34)
  fita = 1.15: ' facteur de correction pour italiques (sinon, troncatures)
  p% = 900
  PICTURE p%: HIDE p%: PRINT_TARGET_IS p%: FONT_NAME p%,fnt$: FONT_SIZE p%,sz%
  IF BIN_AND(enr%,1) = 1 THEN FONT_BOLD p%
  IF BIN_AND(enr%,2) = 2 THEN FONT_ITALIC p%
  IF BIN_AND(enr%,4) = 4 THEN FONT_UNDERLINE p%
  i% = TEXT_WIDTH(txt$,p%): IF BIN_AND(enr%,2) = 2 THEN i% = i%*fita
  WIDTH p%,i%: HEIGHT p%,TEXT_HEIGHT(txt$,p%)
  2D_TARGET_IS p%
  r%=INT(cfd%/65536): g%=BIN_AND(cfd%,65280)/256: b%=BIN_AND(cfd%,255)
  2D_FILL_COLOR r%,g%,b%
  r%=INT(ctx%/65536): g%=BIN_AND(ctx%,65280)/256: b%=BIN_AND(ctx%,255)
  FONT_COLOR p%,r%,g%,b%
  IF DIR_EXISTS(rr$)=1
      EXECUTE_WAIT "cmd.exe /c DEL /Q "+rr$+"*.bmp"
  ELSE
      DIR_MAKE rr$
  END_IF
  rc$ = DIR_CURRENT$: DIR_CHANGE rr$
  x% = 0
  FOR i% = 1 TO LEN(txt$)
      a$ = MID$(txt$,i%,1): w% = TEXT_WIDTH(a$,p%)
      IF BIN_AND(enr%,2) = 2 THEN w% = w%*fita
      PRINT_LOCATE x%,0: PRINT a$: x% = x%+w%
      FILE_SAVE p%,"Img"+RIGHT$("0"+STR$(i%),2)+".bmp"
  NEXT i%
  FOR j% = i% TO i%+4: FILE_SAVE p%,"Img"+RIGHT$("0"+STR$(j%),2)+".bmp": NEXT j%
  rc$ = DIR_CURRENT$: DIR_CHANGE rr$
  IF FILE_EXISTS(fr$) = 1 THEN FILE_DELETE fr$
  EXECUTE_WAIT "CMD.exe /C "+cv$+" -delay "+STR$(delai%)+" -loop 0 *.bmp "+fas$
  IF FILE_EXISTS(fr$) = 1 THEN FILE_DELETE fr$
  FILE_COPY q$+fas$+q$,q$+fr$+q$
  DIR_CHANGE rc$
  EXECUTE_WAIT "cmd.exe /c RD /S /Q "+rr$
  2D_TARGET_IS 0: PRINT_TARGET_IS 0: DELETE p%
END_SUB
' ==============================================================================
SUB Gifanime(f$,x%,y%)
  ' Affichage en x%,y% du gif animé f$
  DIM_LOCAL fh$,v%(4),hv%,w%,h%
  fh$ = "Z:\Gifani.htm": ' <==== Fichier de manoeuvre, à ajuster
  FILEBIN_OPEN_READ 9,f$
    FILEBIN_POSITION 9,6: FILEBIN_BLOCK_READ 9,4,v%(0)
    w% = v%(0) + 256*v%(1): h% = v%(2) + 256*v%(3): ' dimensions du gif
  FILEBIN_CLOSE 9
  FILE_OPEN_WRITE 9,fh$
    FILE_WRITELN 9,"<HTML>"
    FILE_WRITELN 9,"<IMG SRC="+f$
    FILE_WRITELN 9,"</HTML>"
  FILE_CLOSE 9
  hv% = 900: WHILE OBJECT_EXISTS(hv%)=1: hv% = hv%+1: END_WHILE
  HVIEWER hv%: TOP hv%,y%: LEFT hv%,x%: WIDTH hv%,w%+20: HEIGHT hv%,h%+20
  FILE_LOAD hv%,fh$
  FILE_DELETE fh$
END_SUB
' ===============================================================================
et le résultat:
Texte en gif animé Anniv10


Dernière édition par JL35 le Jeu 21 Sep 2017 - 22:48, édité 2 fois
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Texte en gif animé Empty
MessageSujet: Re: Texte en gif animé   Texte en gif animé EmptyJeu 21 Sep 2017 - 15:01

le problème c'est qu'avec l'italic, les parties les plus à droite des lettres sont tronquées ce qui ne fait pas très joli.
Mais peut être que JL35 va trouver une méthode permettant de ne pas écraser cette partie
Revenir en haut Aller en bas
JL35




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

Texte en gif animé Empty
MessageSujet: Re: Texte en gif animé   Texte en gif animé EmptyJeu 21 Sep 2017 - 17:49

Bonjour ami Jicehel,
Tu as évidemment raison pour l'italique, j'ai remarqué également, dans ce cas les lettres se chevauchent plus ou moins et ça tronque un peu la précédente.
La largeur de chaque lettre est donnée par TEXT_WIDTH, mais ce n'est pas tout à fait exact en italique.
Je vais rajouter quelque chose comme 10% à la largeur donnée dans le cas italique, ça devrait suffire.

Voilà, j'ai ajouté là-haut un facteur de correction (variable 'fita' dans la sub) pour l'italique, j'augmente la valeur donnée par TEXT_WIDTH de 15% (10% est un peu juste), ça dilate un peu le texte mais bon...
(Et contrairement à ce que je pensais, le problème est le même avec une police à pas fixe, encore plus accentué visuellement, mais avec 15% ça suffit comme correction).

Je viens également d'ajouter un temps de latence à la fin de l'affichage du texte complet, avant le réaffichage depuis le début (ligne 49, valeur arbitraire, modulable), pour que le texte complet soit lisible pendant quelques secondes

Et ça donne ceci:
Texte en gif animé Pano11
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Texte en gif animé Empty
MessageSujet: Re: Texte en gif animé   Texte en gif animé EmptyVen 22 Sep 2017 - 8:49

Oui, après on peut toujours ajuster comme on veut maintenant pour avoir un affichage parfait.
Ce genre de réglage est toujours un peu délicat, mais bon on n'écrit pas forcément tous les messages en italique non plus.
En tous cas je pense que maintenant ta procédure est en effet suffisamment complète pour répondre aux besoins. Bien joué JL35.
Revenir en haut Aller en bas
JL35




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

Texte en gif animé Empty
MessageSujet: Re: Texte en gif animé   Texte en gif animé EmptyVen 22 Sep 2017 - 12:29

Merci Jicehel,
et en effet le code est simple, et on peut facilement modifier les paramètres pour les adapter à son goût personnel.
Revenir en haut Aller en bas
Contenu sponsorisé





Texte en gif animé Empty
MessageSujet: Re: Texte en gif animé   Texte en gif animé Empty

Revenir en haut Aller en bas
 
Texte en gif animé
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Dessin animé
» Un menu animé !
» saisie de texte
» Fabriquer un gif animé
» Un Forum animé

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: