Page 1 sur 1

Largeur d'un texte sans textwidth

Publié : lun. 08/sept./2008 19:04
par Kayne
Bonjour,
Tout est dans le titre, je cherche a trouver une fonction ou une methode pour faire pour faire comme textwidth mais sans être obligé d'ouvrir un startdrawing stopdrawing.

Re: Largeur d'un texte sans textwidth

Publié : lun. 08/sept./2008 19:27
par Thyphoon
Kayne a écrit :Bonjour,
Tout est dans le titre, je cherche a trouver une fonction ou une methode pour faire pour faire comme textwidth mais sans être obligé d'ouvrir un startdrawing stopdrawing.
mmm je sais pas si c'est possible... je sais parcontre que sur le forum tu dois avoir uncode qui utilise les APIs... faut chercher un peu ... je vais voir si je le trouve...

Publié : lun. 08/sept./2008 19:30
par Anonyme
une lettre fait en moyenne 4 pixels ? 5 pixels de large? tu multiplies avec un len() , tu verras en faisant des tests.

ou tu fait une structure


struct TextInfo
Text$
SizeX.l
endstruct

et tu appelle une fois le startdrawing quand le texte est modifier, pas besoin d'api pour ca. :wink:

Publié : mar. 09/sept./2008 5:20
par case
je ne comprend pas , pour afficher ton texte tu dois faire un startdrawing/stopdrawing ... ou utiliser le vaudou :)

pour ce qui est de la largeur des lettres tout dépend de la font utilisée de sa taille en point si c'est en gras et italique etc...

si tu connais d'avance la police utilisée tu peux soit définir une largeur de caractère que tu multiplie par le nombre de caractères dans les mots.
par contre c'est moins précis dans le sens ou un i prend moins de place qu'un W


soit a l'avance utiliser textwidth pour mesurer chaque caractère et stocker tout ça dans un tableau et additionner la bonne taille pour chaque caractère.

voila voila

Publié : mar. 09/sept./2008 6:24
par Thyphoon
as tu regarder ce topic => c'est pour la hauteur mais ça peut donner des pistes :
http://www.purebasic.fr/french/viewtopi ... textheight

Publié : mar. 09/sept./2008 7:11
par Ouaf-Ouaf
soit a l'avance utiliser textwidth pour mesurer chaque caractère et stocker tout ça dans un tableau et additionner la bonne taille pour chaque caractère.

Ce qui fait qu'une bonne typo est un travail qui peut durer deux ans, c'est qu'il faut trouver un equilibre parfait entre les lettres.
L'espacement varie selon le rapport des formes. t'as des rondes, des verticales, des obliques..
Deux rondes ne sont pas sencées avoir le même espacement qu'une ronde et une verticale..

Sur une police de qqs pixels c'est evidement moindre, mais à partir d'une certaine taille ça risque de se corser.


Par contre si t'utilises une police style courrier, t'es tranquille. Y a un mot pour ça.. que j'ai oublié..

Publié : mar. 09/sept./2008 17:14
par Backup
Ouaf-Ouaf a écrit :Par contre si t'utilises une police style courrier, t'es tranquille. Y a un mot pour ça.. que j'ai oublié..
true type ?? 8O (dessin vectoriel..) contraire de bitmap.. ??

Publié : mar. 09/sept./2008 18:29
par Kayne
Merci pour vos réponses je vais voir ce que je peux faire