Je pige pas les fontes / tailles de fontes
Je pige pas les fontes / tailles de fontes
Je suis de retour ! Grosse surprise en faisant tourner mon jeu sur un autre pc !!!!!
avec drawtext, en fonction du PC sur lequel je fais tourner mon programme, la taille et la forme de la police varie !!!!! hu ?
Comment faire pour avoir une taille de police identique quelque soit le PC ??????
Je veux juste afficher du texte, peut etre dans 2 tailles différentes, mais c'est tout, mais un truc standard qui ne varie pas.
j'ai tenté de charger ma propre fonte (stockée dans un dossier DATA)
LoadFont(0, "DATA/fonte8b.Ttf",8)
mais ca donne rien....
merci à vous !
avec drawtext, en fonction du PC sur lequel je fais tourner mon programme, la taille et la forme de la police varie !!!!! hu ?
Comment faire pour avoir une taille de police identique quelque soit le PC ??????
Je veux juste afficher du texte, peut etre dans 2 tailles différentes, mais c'est tout, mais un truc standard qui ne varie pas.
j'ai tenté de charger ma propre fonte (stockée dans un dossier DATA)
LoadFont(0, "DATA/fonte8b.Ttf",8)
mais ca donne rien....
merci à vous !
Re: Je pige pas les fontes / tailles de fontes
Résolution identique ?
OS semblable ?
Version d'OS semblable ?
Fonte intégrée (data, ou fichier type DAT) ?
Version PB ?
Il faut plus d'infos...
OS semblable ?
Version d'OS semblable ?
Fonte intégrée (data, ou fichier type DAT) ?
Version PB ?
Il faut plus d'infos...
Re: Je pige pas les fontes / tailles de fontes
A mon avis, il faut que tu fasses attention aux DPI, regarde la doc coté DesktopResolutionX(), DesktopResolutionY(), DesktopScaledY(), DesktopUnscaledX(), DesktopUnscaledY()
Ensuite recherche sur le fofo les topic concernant DPI AWARE
Ensuite recherche sur le fofo les topic concernant DPI AWARE
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Je pige pas les fontes / tailles de fontes
Salut a tous
Je pencherais plus sur une résolution différente de l'écran.
dans ce cas regarde avec GetSystemMetrics_(#SM_CXSCREEN) et GetSystemMetrics_(#SM_CYSCREEN). C'est un grand classique de la programmation.
Tenir compte de la résolution d'écran,et du DPI
Je pencherais plus sur une résolution différente de l'écran.
dans ce cas regarde avec GetSystemMetrics_(#SM_CXSCREEN) et GetSystemMetrics_(#SM_CYSCREEN). C'est un grand classique de la programmation.
Tenir compte de la résolution d'écran,et du DPI
Re: Je pige pas les fontes / tailles de fontes
(aparté)
La version API n'est utile que si le DPI n'est pas à 100%
Dans les autres cas, PB possède une fonction interne.
Depuis PB (5.7?) on peut obtenir le facteur d'échelle avec DesktopResolutionX()
(à condition d'avoir coché l'option dans le compilateur)
À 100%
À 125%
La version API n'est utile que si le DPI n'est pas à 100%
Dans les autres cas, PB possède une fonction interne.
Depuis PB (5.7?) on peut obtenir le facteur d'échelle avec DesktopResolutionX()
(à condition d'avoir coché l'option dans le compilateur)
Code : Tout sélectionner
Debug "API: " + GetSystemMetrics_(#SM_CXSCREEN) + " x " + GetSystemMetrics_(#SM_CYSCREEN)
ExamineDesktops()
Debug "PB : " + DesktopWidth(0) + " x " + DesktopHeight(0)
Code : Tout sélectionner
API: 1920 x 1080
PB : 1920 x 1080
Code : Tout sélectionner
API: 1536 x 864
PB : 1920 x 1080
Re: Je pige pas les fontes / tailles de fontes
Mais c'est quoi ce bordel
y a pas moyen d'afficher du texte avec drawtext sans gérer tout ça ?
La police par defaut de PURE BASIC n'est pas réglable en taille ? Elle me convient mais elle ets trop grosse par rapport à la faible définition de mon jeu.
je n'ai besoin de rien de special : une fonte ! Au pire genre en taille 6 8 ou 10....

y a pas moyen d'afficher du texte avec drawtext sans gérer tout ça ?
La police par defaut de PURE BASIC n'est pas réglable en taille ? Elle me convient mais elle ets trop grosse par rapport à la faible définition de mon jeu.
je n'ai besoin de rien de special : une fonte ! Au pire genre en taille 6 8 ou 10....
Re: Je pige pas les fontes / tailles de fontes
@drfloyd , lorsque je te lis, je retrouve tes propos sur tes tests a propos des Basics sur ton site .....
tu compares des basics actuels avec ceux d’antan , et tu compares les basics de different types ...
un truc qu'il faut que tu comprennes, le Purebasic (mais c'est pas le seul) est relativement bas niveau
donc, ne t'offusques pas par exemple, si tu ne trouve point de fonction de rotation sur la bibliotheque image
car avec le Purebasic, tu as en fait les moyen de te fabriquer ta propre routine de rotation ... et c'est super rapide...
tout pareil afficher plus de 1000 sprites ,ne pose aucun problèmes de lenteur ...
avec Purebasic (version complete) on a accès au API windows .. donc tu peut aussi y faire appel pour accélérer certains trucs ...
ou pour changer la taille d'une fonte ...
ça dépasse largement le cadre de la Doc Purebasic , puisqu'il faut alors plonger dans la Doc Microsoft des APIs....
ne compare pas le Purebasic par exemple avec Dark Basic .. ou autre du même type ...
qui sont des basics qui cumulent des fonctions toutes faites
avec le Purebasic, je me fabrique des fonctions pour AGK2 par exemple (via DLL)
un membre du forum anglais a fait un code qui utilise le moteur 3d du DarkBasic ... (payant)
etc... je pourrai te donner pleins d'exemple de ce genre
avec un peut d'acharnement, tu pourrai te faire ton propre langage avec Purebasic ..
tu es trop habitué aux langage basics "prefabriqué" avec des fonctions toute faites... comme le STOS, AMOS, DarkBAsic,AGK etc..
là , avec Purebasic, les fonctions qui te manque, tu peut te les coder ... (apres, je dis pas que c'est simple lorsque tu n'as jamais fait ça )
se faire un interpreteur d'un langage xx ou yy est tres simple avec Purebasic
on peut meme se faire un Pseudo compilateur sans trop d'effort...
il faut que tu vois le langage, comme un assembleur évolué .... (d'ailleurs on peut aussi coder en assembleur directe dans le listing)
tu disposes de quasi toutes les briques de base pour te construire ce que tu veux ...
si tu veux te faire une fonction DrawTex() , avec comme paramètre la taille d'une fonte, tu peux te le faire ...
ça demande un peut de recherche avec les Apis .. mais c’est loin d’être impossible
tu peux te faire tes propres DLL , ou librairies de fonctions, que tu utilises a loisir
soit sous forme de DLL , ou de LIB ou bien de "Modules"
ne part pas perdant , si deja tu donnais un peut de code, on (certains ici) pourrai voir ou est le problème
bref, surtout ne commet pas l'erreur de coller une etiquettes sur le Purebasic sans avoir vraiment testé !
ps: tu n'es pas le seul a etre un Vieux du codage , perso j'ai bientot 55 ans , et je code aussi depuis le Zx81 ... (que j'ai encore)
ici pas mal de membres sont aussi des vieux cons , qui viennent de "l'ancien" monde du codage
et avons aussi connu hebdogociel et StMag..... certains viennent meme du monde de la Demo sur Amiga ...
bref, ne pense pas avoir affaire a des petits jeunes, comme le bonjours que tu as lancé sur un autre message
ici on echange du code, lorsqu'on a un probleme, n'hesite pas
pour ton probleme de taille de fonte, jette un oeil ici :
https://www.purebasic.fr/french/viewtop ... te#p158897
la fonction recherche du forum fonctionne aussi
ps: dans la doc la fonction loadFont() permet de determiner la taille d'une fonte
ps lorsque tu as un soucis avec une "commande" tu clicque dessus pour poser le curseur sur le mot
ou tu surligne le mot .. et tu appuis sur F1
ça ouvre la doc sur le mot en question ....
tres pratique beaucoup d'entre nous codent par simple copié-collés
tu compares des basics actuels avec ceux d’antan , et tu compares les basics de different types ...
un truc qu'il faut que tu comprennes, le Purebasic (mais c'est pas le seul) est relativement bas niveau
donc, ne t'offusques pas par exemple, si tu ne trouve point de fonction de rotation sur la bibliotheque image
car avec le Purebasic, tu as en fait les moyen de te fabriquer ta propre routine de rotation ... et c'est super rapide...
tout pareil afficher plus de 1000 sprites ,ne pose aucun problèmes de lenteur ...
avec Purebasic (version complete) on a accès au API windows .. donc tu peut aussi y faire appel pour accélérer certains trucs ...
ou pour changer la taille d'une fonte ...
ça dépasse largement le cadre de la Doc Purebasic , puisqu'il faut alors plonger dans la Doc Microsoft des APIs....
ne compare pas le Purebasic par exemple avec Dark Basic .. ou autre du même type ...
qui sont des basics qui cumulent des fonctions toutes faites
avec le Purebasic, je me fabrique des fonctions pour AGK2 par exemple (via DLL)
un membre du forum anglais a fait un code qui utilise le moteur 3d du DarkBasic ... (payant)
etc... je pourrai te donner pleins d'exemple de ce genre
avec un peut d'acharnement, tu pourrai te faire ton propre langage avec Purebasic ..
tu es trop habitué aux langage basics "prefabriqué" avec des fonctions toute faites... comme le STOS, AMOS, DarkBAsic,AGK etc..
là , avec Purebasic, les fonctions qui te manque, tu peut te les coder ... (apres, je dis pas que c'est simple lorsque tu n'as jamais fait ça )
se faire un interpreteur d'un langage xx ou yy est tres simple avec Purebasic
on peut meme se faire un Pseudo compilateur sans trop d'effort...
il faut que tu vois le langage, comme un assembleur évolué .... (d'ailleurs on peut aussi coder en assembleur directe dans le listing)
tu disposes de quasi toutes les briques de base pour te construire ce que tu veux ...
si tu veux te faire une fonction DrawTex() , avec comme paramètre la taille d'une fonte, tu peux te le faire ...
ça demande un peut de recherche avec les Apis .. mais c’est loin d’être impossible
tu peux te faire tes propres DLL , ou librairies de fonctions, que tu utilises a loisir
soit sous forme de DLL , ou de LIB ou bien de "Modules"
ne part pas perdant , si deja tu donnais un peut de code, on (certains ici) pourrai voir ou est le problème
bref, surtout ne commet pas l'erreur de coller une etiquettes sur le Purebasic sans avoir vraiment testé !
ps: tu n'es pas le seul a etre un Vieux du codage , perso j'ai bientot 55 ans , et je code aussi depuis le Zx81 ... (que j'ai encore)
ici pas mal de membres sont aussi des vieux cons , qui viennent de "l'ancien" monde du codage
et avons aussi connu hebdogociel et StMag..... certains viennent meme du monde de la Demo sur Amiga ...
bref, ne pense pas avoir affaire a des petits jeunes, comme le bonjours que tu as lancé sur un autre message

ici on echange du code, lorsqu'on a un probleme, n'hesite pas

pour ton probleme de taille de fonte, jette un oeil ici :
https://www.purebasic.fr/french/viewtop ... te#p158897
la fonction recherche du forum fonctionne aussi

ps: dans la doc la fonction loadFont() permet de determiner la taille d'une fonte

Code : Tout sélectionner
LoadFont (0, "Courier", 15) ; Load Courrier Font, Size 15
LoadFont (1, "Arial", 24) ; Load Arial Font, Size 30
ps lorsque tu as un soucis avec une "commande" tu clicque dessus pour poser le curseur sur le mot
ou tu surligne le mot .. et tu appuis sur F1
ça ouvre la doc sur le mot en question ....
tres pratique beaucoup d'entre nous codent par simple copié-collés

Re: Je pige pas les fontes / tailles de fontes
T'as aussi la possibilité d'exporter ta police sous forme d'images et d'utiliser ces images pour afficher les lettres composant le texte. Au moins ce seras à la taille de ton choix au pixel près. (Mais tu devra te passer des fonctions natives pour tus les textes affichés)
Re: Je pige pas les fontes / tailles de fontes
Essaie de rajouter la ligne suivante après ton LoadFont et avant le drawText:drfloyd a écrit :Je suis de retour ! Grosse surprise en faisant tourner mon jeu sur un autre pc !!!!!
avec drawtext, en fonction du PC sur lequel je fais tourner mon programme, la taille et la forme de la police varie !!!!! hu ?
Comment faire pour avoir une taille de police identique quelque soit le PC ??????
Je veux juste afficher du texte, peut etre dans 2 tailles différentes, mais c'est tout, mais un truc standard qui ne varie pas.
j'ai tenté de charger ma propre fonte (stockée dans un dossier DATA)
LoadFont(0, "DATA/fonte8b.Ttf",8)
mais ca donne rien....
merci à vous !
DrawingFont(FontID(0))
- microdevweb
- Messages : 1802
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: Je pige pas les fontes / tailles de fontes
Assez d'accord avec zorro, Pb est bas niveau tout comme le c. Avoir le même comportement quel que soit la machine et surtout l'os est difficile. Il vaut mieux alors passer par un langage comme Java qui normalement gère cela de manière automatique.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: Je pige pas les fontes / tailles de fontes
vurvur a écrit :Essaie de rajouter la ligne suivante après ton LoadFont et avant le drawText:drfloyd a écrit :Je suis de retour ! Grosse surprise en faisant tourner mon jeu sur un autre pc !!!!!
avec drawtext, en fonction du PC sur lequel je fais tourner mon programme, la taille et la forme de la police varie !!!!! hu ?
Comment faire pour avoir une taille de police identique quelque soit le PC ??????
Je veux juste afficher du texte, peut etre dans 2 tailles différentes, mais c'est tout, mais un truc standard qui ne varie pas.
j'ai tenté de charger ma propre fonte (stockée dans un dossier DATA)
LoadFont(0, "DATA/fonte8b.Ttf",8)
mais ca donne rien....
merci à vous !
DrawingFont(FontID(0))
oui oui bien sur c'est ce que je fais...
Re: Je pige pas les fontes / tailles de fontes
si je ne dit pas de bêtises pour charger une font elle doit être enregistrée dans le système
devrait fonctionner
Code : Tout sélectionner
if registerfontfile("DATA/fonte8b.Ttf")
LoadFont(0,"fonte8b",8)
endif
devrait fonctionner
Re: Je pige pas les fontes / tailles de fontes
ceci
mais faut avoir acces aux apis

Code : Tout sélectionner
; code pour charger une fonte présente dans le dossier de l'appli et non installé dans le systeme /Fontes
AddFontResource_(GetCurrentDirectory()+"amstrad-accent.fnt")
SendMessage_(#HWND_BROADCAST, #WM_FONTCHANGE, 0, 0)
FontID1 = LoadFont(0,"Amstrad CPC accents",8)
Re: Je pige pas les fontes / tailles de fontes
@zorro pourquoi passe tu encore par l'api alors qu'il y a la fonction RegisterFontFile()
bon j'avoue je ne le savais pas avant d'avoir regarder a nouveau la doc suite a ce post
bon j'avoue je ne le savais pas avant d'avoir regarder a nouveau la doc suite a ce post

Syntaxe
Resultat = RegisterFontFile(Fichier$)
Description
Enregistre un fichier de police en vue d'être utilisé avec la commande LoadFont().
Toutes les polices contenues dans le fichier seront alors disponibles.
Arguments
Fichier$ Le fichier contenant les polices.
Le fichier doit être au format TrueType.
Valeur de retour
Renvoie une valeur non nulle si le fichier a été enregistré correctement.
Remarques
Le fichier de police est inscrit pour le programme en cours. Cela signifie que la ou les polices ne sont pas accessibles par les autres programmes.
Le fichier est désinscrit lorsque le programme se termine.
Aucun changement dans le système d'exploitation n'est fait par cette commande.
Re: Je pige pas les fontes / tailles de fontes
ha bah pareil ....
en meme temps j'ai de vieux code qui utilisent encore l'api pour recup la resolution de l'ecran
alors que la bibliotheque Desktop() existe maintenant .....

en meme temps j'ai de vieux code qui utilisent encore l'api pour recup la resolution de l'ecran
alors que la bibliotheque Desktop() existe maintenant .....
