Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 228 218

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Comment déterminer la hauteur d'un texte (TextExtent.te_Height ?) ?

Comment déterminer la hauteur d'un texte (TextExtent.te_Height ?) ?#2224

4Contributeur(s)
zzd10hartblinksinisrusthellier
3 Modérateur(s)
K-LElwoodcorto
thellier thelliericon_post
Hello

J'avais aussi pensé à un problème de filtering : Notamment avec le compositing comme il fait la moyenne de 4 pixels il peut "attraper" les pixels en dehors du rectangle à tracer
MAAIIS si c'étais le cas il le ferait un peu partout ou au moins un peu n'importe où. Or ici seul le 1 et le 2 sont toujours moche sur ta première ligne

Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
zzd10h zzd10hicon_post
Salut Alain,
ben sur la 5éme ligne, il y a le 9 et le 5 également. Cela semble dépendre de la police.
sinisrus sinisrusicon_post
"New Mail voir grab" nimbus ok
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
zzd10h zzd10hicon_post
artblink artblinkicon_post
Ca dépend de la matrice d'origine de la police de caractères (8x8 pixels, 12x12 pixels, 16x16 pixels, etc...) et du type de police (vectoriel, bitmap)

Pour les sprite/brush sous hollywood, le point d'accroche doit être recalibrer

Ce sont les coordonnées anchorX et anchorY lorsque l'on utilise displaybrush (par exemple)

Pout l'affichage de text, il y a les objet text ou sinon, la combine, c'est de créé une brosse qui contient la police et ensuite modifier l'ancrage (ou pixel d'accroche) pour le déplacement

En gros, le point d'accroche pour une brosse d'une voiture qui reste au centre de l'écran et qui tourne sur elle même dans un scroll doit ce trouvé au centre de la brosse voiture

Le point d'accroche pour un sprite type mario doit ce trouver en bas au centre de la brosse mario

Le flip d'un flipper (le machin qui frappe la boule) doit avoir son point d'accroche en haut à gauche pour le flip gauche et en haut à droite pour le flip droit, bon, en fait plus précisément au point de rotation du flip

Voilà 
zzd10h zzd10hicon_post
Je ne comprends rien mais attends, je prends l'apéro et je reviens lire tout ça, ça devrait s'êclaircir tout seul.


artblink artblinkicon_post
Blaireau lol

Une police de caractère bitmaps, c'est simple, c'est un tableau composé par exemple de 8 pixels de long x 8 pixels de large (ou hauteur). La police ne prend JAMAIS la taille maximal de la matrice. Les ligne du haut sont utilisé pour les majuscule et parfois les lettre l,d,b,h,k, ect... utilise les lignes du haut, les g,p,j,etc... utilise les lignes du bas.

Parfois, les caractères ne remplisse jamais la matrice, il reste et restera toujours une ou plusieurs ligne du bas VIDE sans "allumage de pixels" et celle du haut.

Dans ton cas, il y a 4 lignes de pixels en haut et en pas

Ton point d'accroche sur l'affichage des caractères ce fait en haut à gauche de ce que tu veux afficher, mais toi tu veux modifier le point d'ancrage pour le centrer

Le problème des polices de caractères que j'avais pas en 88 sur mon cpc, c'est que tu peu modifier la taille comme bon te semble, le seul problème et que tu dois définir a quel moment cette police de caractère fais passer la ligne dans la matrice de 0 bits pour chaque pixel à 2 ligne, mais le problème, c'est que vu la multitude de police de caractères qui existe, chacune se comporte de façon différente.

La solution la plus simple est de transformer ton texte en sprite ou tiles ou autre.

Tu créé un graph ou tu insère ton texte, un sprite par exemple
Au lieu d'avoir une image d'un bonhomme, tu y mets l'heure
en fond, tu y mets un masque que tu efface

Exemple
Tu créé un spriter unicolor dont la taille dépend de la taille de la police et du nombre de caractère avec une marge de sécurité (une formule mathématique simple), exemple un rectangle bleu

tu y met le texte de l'heure

Tu défini que le fond bleu est un masque donc transparent en final, mais ton rectangle même invisible garde la même taille que t'a formule mathématique a défini en fonction de la taille de la police sélectionné

Tu positionne ensuite ce sprite u tu veux sur l'écran

Et tu mets a jour le contenu du sprite toute les secondes

C'est simple, tranquille, et comme dirait l'autre, tu mets ce que tu veux dans un sprite ou brush ou bob ou tiles

C'est une méthode simple a réaliser sous hollywood que j'ai trouvé il y a pas mal de temps
Couplé au doublebuffer hardware d'hollywood, les moteurs 2D sont beaucoup plus rapide ;-)

T'as pigé ou je t'envoie une gnolle de pomme de terre à 90??

bisoux

zzd10h zzd10hicon_post
"Tu défini que le fond bleu est un masque donc transparent en final, mais ton rectangle même invisible garde la même taille que t'a formule mathématique a défini en fonction de la taille de la police sélectionné

Tu positionne ensuite ce sprite u tu veux sur l'écran

Et tu mets a jour le contenu du sprite toute les secondes
"

Merci, je pense avoir compris mais je pense également que c'est ce que je fais déjà. Pas de pb si la fenêtre est totalement transparente mais si elle ne l'est pas totalement, les marges en haut et en bas de hauteur sont visibles.
Et quand ces dernières ne sont pas de même hauteur (pour certaines polices que je ne sais pas prévoir), ben, ça se voit.

Ce pb + celui des bavures sur certains chiffres quand certaines polices sont agrandies me gonflent... 

Tiens, en passant, j'ai vu que dans Sys:System/TypeManager il y avait des options "Crénage" et "Lissage" modifiables (ou qq chose comme ça, je ne suis pas devant mon OS4), est-ce que qq'un sait comment les appliquer à une structure TextFont ou TTextFont ?

Peut-être qu'en forçant le lissage...

Merci

artblink artblinkicon_post
T'arrive a centré une font de 12 pixels théorique de haut dans un sprite/bob/brush/tiles de 40 pixels de haut ou t'a toujours un décalage ?
zzd10h zzd10hicon_post
Je suis resté bloqué sur mon pb de décalage de mon texte sur la couche alpha.
Je n'ai pas réessayé le pb du centrage.
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme