a propos des fonctions DPI de Purebasic ...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Zorro
Messages : 2186
Inscription : mar. 31/mai/2016 9:06

a propos des fonctions DPI de Purebasic ...

Message par Zorro »

dites moi si j'ai faux, car la doc n'est pas evidente ....

debug DesktopScaledX(100) ; ceci renvoi '125' sur un ecran a 125% , cela signifie que la position 100 sur un ecran a 125% c'est en fait 125 !
; il faut te servir de cette fonction pour avoir une position x correcte quelque soit l'ecran
; si tu voulais positionner un texte a la colonne 50 ligne 100 quelques soit l'ecran
; il faudrai faire ceci :

Code : Tout sélectionner


; ATTENTION NE PAS OUBLIER DE COCHER LA CASE DPI dans les options de compilation
initsprite()

If OpenWindow(0, 0, 0, 200, 200, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    OpenWindowedScreen(windowID(0),1,1,200,200,1,0,0)
	 
	 StartDrawing(ScreenOutput())
      DrawingMode(#PB_2DDrawing_Transparent)     
        DrawText( DesktopScaledX(50),  DesktopScaledY(100), "Hello World!", RGB(255, 255, 0))     
      StopDrawing() 
FlipBuffers()
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf
chez moi ça semble marcher !! :D


sinon ceci teste en quel pourcentage est l'ecran

Code : Tout sélectionner


if  DesktopResolutionX() = 1.25 ; on test si l'ecran est en 125% 
		MessageRequester("Attention" , "le jeux ne supporte pas trop le zoom a 125% de votre bureau"+chr(10)+"preferez remettre a 100% dans les option d'affichage de Windows")
Endif
le fait de mettre un message peut etre une solution de repli Strategique, c'est au gars de voir s'il veux changer ses parametres :lol: :lol: :mrgreen:


ou encore utiliser ce que renvoi la fonction DesktopResolutionX()
comme offset multiplicateur
si on est en 100% ça renvoi 1 donc on multiplie X et y par 1 ça ne changera donc rien
Si on est en 120% ça renvoi 1.25 ,on multiplie X et Y par 1.25 ce qui sera bon pour ce type de resolution :)

Code : Tout sélectionner



 offsetX = DesktopResolutionX()  ; on recupere le decalage qui sera de 1 pour 100% et de 1.25 pour 125% 
  offsetY = DesktopResolutionY() 
 ; et on multiplie nos X et y par ce decalage
 ; pour afficher le Text en  50 , 100   on fera donc : 

initsprite()

If OpenWindow(0, 0, 0, 200, 200, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    OpenWindowedScreen(windowID(0),1,1,200,200,1,0,0)
	 
	 StartDrawing(ScreenOutput())
      DrawingMode(#PB_2DDrawing_Transparent)     
        DrawText( 50 * offsetX,  100 * offsetY, "Hello World!", RGB(255, 255, 0))     
      StopDrawing() 
FlipBuffers()
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf

derniere solution .... plus Lazy

vous passez votre ordinateur en 125%
vous coder votre truc sous cette resolution ..
forcement sur les ordis a 100% ça va rentrer ....
alors que l'inverse n'est pas vrais :mrgreen:
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: a propos des fonctions DPI de Purebasic ...

Message par MLD »

Bonjour a tous
la gestion de l'écriture sous Windows en fonction de la définition des écrans est un véritable scandale.
L'histoire de modifier le DPI de l'écran pour lire Windows en haute définition est une hérésie. Ceci semble être le résultat d'un manque total de mise a jour du logiciel par rapport a certaines avancées technologiques. Pour être clair MS est en retard d'un métro dans ce domaine.
Windows devrais être lisible sans l'obligation de prendre une loupe quelque soit la définition de l'écran.
L'ors de la réalisation d'un logiciel si l'on tient compte d'un DPI différent de 100%, il y a toute les chances pour qu'il ne fonctionne pas normalement sur tous les ordis de clients potentiel.
Pour ma part il me semble juste de ne prendre que les définitions d'écrans. La réalisation de logiciels devrais se faire en permettant que par exemple une fenêtre qui a une hauteur de la totalité de l'écran en 1080 soit toujours une fenêtre d'une hauteur de la totalité de l'écran en 800, et dont toutes les écritures soit lisibles, et tous les gadgets a la bonne dimension.
Avatar de l’utilisateur
Zorro
Messages : 2186
Inscription : mar. 31/mai/2016 9:06

Re: a propos des fonctions DPI de Purebasic ...

Message par Zorro »

je pense meme que windows 10 a régréssé dans ce domaine
depuis quelques temps, mon ecran est legerement flou .. en permanence
non non ce n'est pas ma vue ...

je suis effectivement en 125% , sinon c'est vraiment trop petit sur mon portable 17 pouces
ce n'etais pas le cas au debut de Windows 10 !!

depuis 1 ou 2 mise ajours windows c'est le bordel
il paraitrai que ce serai lié au fait que Windows 10 tourne sur des tablettes ...
et que pour s'adapter a ce materiel microsoft a changé la donne ....
je ne sais pas si , c'est la raison ....
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: a propos des fonctions DPI de Purebasic ...

Message par MLD »

@Zorro
En fait Windows devrais être WYSIWYG, car l'on annonce des écrans en trés haute résolution, s'il ne font rien, pour lire lécran il faudra une loupe en 150% voir plus :mrgreen:
ons auras l'air malin d'avoir un trés grand écran avec une lecture de lettres minuscule :twisted: :mrgreen:
Avatar de l’utilisateur
Zorro
Messages : 2186
Inscription : mar. 31/mai/2016 9:06

Re: a propos des fonctions DPI de Purebasic ...

Message par Zorro »

oui , LOL
pour moi c'est deja le cas lorsque je suis a 100% (les lettres minuscules)

je recupere la netteté , mais purée.... j'ai le nez collé a l'ecran
ce qui laisse des traces au finale , mon nez Gras contribue a laisser une couche
sur la dalle, ce qui fait que j'y vois de moins en moins :lol: :lol:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: a propos des fonctions DPI de Purebasic ...

Message par Ollivier »

Zorro a écrit :ce qui laisse des traces au finale , mon nez Gras contribue a laisser une couche
sur la dalle, ce qui fait que j'y vois de moins en moins
C'est les nouveaux systèmes de diagnostic santé high-tech : si t'as l'écran propre, c'est que t'es presbyte.
Mouillard
Messages : 79
Inscription : mer. 13/sept./2017 14:35
Localisation : Picardie (Somme)

Re: a propos des fonctions DPI de Purebasic ...

Message par Mouillard »

Il est cool Ollivier... :lol:
Répondre