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.
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
obtenir la taille d'une fonte en pixels pour un MEMO Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
obtenir la taille d'une fonte en pixels pour un MEMO 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
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 obtenir la taille d'une fonte en pixels pour un MEMO

Aller en bas 
4 participants
AuteurMessage
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 17:45

Bonjour à tous

Voici un petit bout de code qui permet de connaitre la taille d'une fonte en pixels quand elle a été fixé avec la commande 'font_size'. Ca m'a été bien utile pour calculer le nb de ligne visible dans un memo.

Code:

dim ret%
dim i,f$

full_space 0

f$="dejavu sans mono"
print_locate 150,0 : print f$
print_locate 130,12 : print "font_size       pixels"
for i=1 to 70
   font_size_to_pixels(f$,i)
   print_locate 150,12*(i+1) : print i,"  --------->  ",ret%
next i

END
sub font_size_to_pixels(f$,t%)
dim_local N,L
   repeat
      N=N+1
   until object_exists(N)=0
   list N : hide N : font_name N,f$ : font_size N,t%
   '
   repeat
      L=L+1
   until library$(L)="_" or library$(L)="user32"
   if library$(L)<>"user32" then library L,"user32"
   function "pixels","SendMessageA",L,"IIII","stdcall"
   ret%=pixels(handle(N),417,0,0)

'   dll_on "user32"
'      ret%=dll_call4("SendMessageA",handle(N),417,0,0)
'   dll_off

   delete N
end_sub


Dernière édition par silverman le Mer 17 Fév 2016 - 9:28, édité 1 fois
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 21:38

Salut Silverman.
C’est une Sub bien utile dans beaucoup de cas.
Merci pour le partage.
Du coup, j’ai arrangé un peu le code : la sortie dans un full_space, je n’aime pas trop.
Cela n’enlève rien à l’utilité de ton code.

Code:

dim ret%
dim i,f$

list 1 : width 1,200 : height 1,400 : font_bold 1

f$="dejavu sans mono"
item_add 1,f$
item_add 1,"font_size       pixels"

for i = 1 to 70
   font_size_to_pixels(f$,i)
   item_add 1,str$(i) + " ----------------> " + str$(ret%)
next i

END
sub font_size_to_pixels(f$,t%)
dim_local N,L
   repeat
      N = N + 1
   until object_exists(N) = 0
   list N : hide N : font_name N,f$ : font_size N,t%
   '
   repeat
      L = L + 1
   until library$(L) = "_" or library$(L) = "user32"
   if library$(L) <>"user32" then library L,"user32"
   function "pixels","SendMessageA",L,"IIII","stdcall"
   ret% = pixels(handle(N),417,0,0)
   delete N
end_sub
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 21:47

Les fonctions TEXT_HEIGHT et TEXT_WIDTH le font déjà ?

_________________
obtenir la taille d'une fonte en pixels pour un MEMO Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 21:56

Effectivement !
Parfois, on oublie ce dont on dispose. Embarassed
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 22:33

@jack
non, ça ne marche pas avec ces commandes, ça retourne toujours la même valeur. Voici le code du premier post modifié qui le montre bien:
Code:

dim ret%, ret2%
dim i,f$

full_space 0

f$="dejavu sans mono"
print_locate 150,0 : print f$
print_locate 130,12 : print "font_size       pixels       text_height"
for i=1 to 70
   font_size_to_pixels(f$,i)
   print_locate 150,12*(i+1) : print i,"  --------->  ",ret%,"  --------->  ",ret2%
next i

END
sub font_size_to_pixels(f$,t%)
dim_local N,L
   repeat
      N=N+1
   until object_exists(N)=0
   list N : font_name N,f$ : font_size N,t%
   item_add N,"azerty"
   ret2%=text_height(item_read$(N,1),N)
'   hide N
   '
   repeat
      L=L+1
   until library$(L)="_" or library$(L)="user32"
   if library$(L)<>"user32" then library L,"user32"
   function "pixels","SendMessageA",L,"IIII","stdcall"
   ret%=pixels(handle(N),417,0,0)
  
'   dll_on "user32"
'      ret%=dll_call4("SendMessageA",handle(N),417,0,0)
'   dll_off
wait 50
   delete N
end_sub

EDIT : EN FAIT, TEXT_HEIGHT NE FONCTIONNE PAS AVEC LES LIST


Dernière édition par silverman le Mer 17 Fév 2016 - 10:16, édité 2 fois
Revenir en haut Aller en bas
JL35




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

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 22:51

Pardon d'intervenir, mais je voulais essayer ces bouts de code et quelque chose m'échappe: je tombe en erreur sur des variables inconnues, ce qui me paraît normal: c'est quoi ces library$(l), et library L,x, et function, tout ça est inconnu de Panoramic_Editor ?
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 23:02

@Jl35

Mets-toi à jour mon vieux!

Tu vis encore sous une version de la préhistoire. Shocked
Nous sommes à la version V.0.9.27i5


Dernière édition par papydall le Mar 16 Fév 2016 - 23:19, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 23:07

Ce code donne la hauteur et la largeur  de la fonte avec  les fonctions TEXT_WIDTH / TEXT_HEIGHT de Panoramic

Code:

dim size,t$
t$ = "Salut"
alpha 1  : font_name 1,"dejavu sans mono"
list 10 : width 10,250 : height 10,400 : font_bold 10
item_add 10,"size .............height ...... width"
 for size = 1 to 50
     font_size 1,size
     item_add 10, str$(size) + " ==========> " + str$(text_height(t$,1)) + string$(10," ") + str$(text_width(t$,1))
 next size
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 23:22

Aïe ! j'ai loupé un (et même deux) épisode(s), je suis sous la 0.9.27i3, j'ai dû me perdre dans l'espace-temps sans m'en rendre compte... Embarassed
Merci papydall, heureusement que tu es là pour sauver les indigents.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 23:29

Contre les effets de l'âge, fais du sport (mais pas trop)! Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 23:32

Non, ça use !
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMar 16 Fév 2016 - 23:50

Pardon Silverman.
JL35 est allé trop loin (hors-sujet) et moi, j’ai suivi.
C’est aussi de ma faute.  Embarassed
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMer 17 Fév 2016 - 0:04

C'est la faute à papydall ! bon allez, moi aussi... moi surtout.
Mais en fait je voulais savoir par curiosité ce qui ne va pas avec les fonctions TEXT_WIDTH et TEXT_HEIGHT qui pour moi fonctionnent très bien et que j'utilise couramment... enfin, quand j'en ai besoin.
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMer 17 Fév 2016 - 10:14

@papydall
pardonné pour cette fois Smile

@jl35
jl35 a écrit:
library$(l), et library L,x,
il s'agit des nouvelles commandes, apparu depuis la version 0927i2. Tu peux les mettre en 'rem', à condition d'enlever les autres qui sont devant dll_on,ret%et dll_off.
Grace au code que tu as posté je viens de me rendre compte que 'TEXT_HEIGHT' ne fonctionne pas avec les LIST. Mad  J'ai passé tellement de temps avec ça que je n'ai pas pensé à tester sur un alpha. Ca va m'etre bien utile.
Revenir en haut Aller en bas
JL35




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

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMer 17 Fév 2016 - 10:57

Rendons à César... le code c'est papydall.

C'est vrai que le TEXT_HEIGHT ne marche pas pour un LIST, ça c'est un bug.
Je pars du principe que pour une police donnée et une taille donnée, la hauteur en pixels est la même quel que soit l'objet.

Et donc si on veut connaître la hauteur de taille d'une police donnée, il suffit de faire (par exemple):
Code:
Tailfont("Arial",48)
MESSAGE "Arial 48"+CHR$(10)+"H= "+CLIPBOARD_STRING_PASTE$+" pixels."
TERMINATE

SUB Tailfont(fnt$,sz%)
    ' Hauteur en pixels de la police fnt$, taille sz% -> clipboard
    ALPHA 5000: HIDE 5000: FONT_NAME 5000,fnt$: FONT_SIZE 5000,sz%
    CLIPBOARD_STRING_COPY STR$(TEXT_HEIGHT("AByz",5000)): ' taille -> clip
    DELETE 5000
END_SUB

Non ?
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO EmptyMer 17 Fév 2016 - 12:14

Merci JL35 pour le César, je prends.
Quant à ta dernière question
Citation :
Non ?

C’es NOT Non, donc c’est Oui.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





obtenir la taille d'une fonte en pixels pour un MEMO Empty
MessageSujet: Re: obtenir la taille d'une fonte en pixels pour un MEMO   obtenir la taille d'une fonte en pixels pour un MEMO Empty

Revenir en haut Aller en bas
 
obtenir la taille d'une fonte en pixels pour un MEMO
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Taille en pixels d'une police fixe
» Modification de la fonte pour HINT
» Pour diminuer la taille des exécutables
» Taille des polices pour Print dans un Picture
» Sélection d'une fonte.

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: