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
» Gestion d'un système client-serveur.
Texte en gif animé Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Texte en gif animé Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Texte en gif animé Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Texte en gif animé Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Texte en gif animé Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Texte en gif animé Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Texte en gif animé Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Texte en gif animé Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Texte en gif animé Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Texte en gif animé Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Texte en gif animé Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Texte en gif animé Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Texte en gif animé Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Texte en gif animé Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Texte en gif animé Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-14%
Le deal à ne pas rater :
Apple MacBook Air (2020) 13,3″ Puce Apple M1 – RAM 8Go/SSD 256Go
799 € 930 €
Voir le deal

 

 Texte en gif animé

Aller en bas 
2 participants
AuteurMessage
JL35




Nombre de messages : 7095
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 : 51
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 : 7095
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 : 51
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 : 7095
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
-
» Un Forum animé
» Animate : Montage d'un petit dessin animé
» Un menu animé !
» Affichage de gif animé.
» Fabriquer un gif 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: