Page 3 sur 3

Re: Question de DPI - A l'aide SVP

Publié : mar. 31/mars/2026 0:06
par case
les dpi ne changent pas la taille du bureau
si tu fait

Code : Tout sélectionner

ExamineDesktops()
dx=DesktopWidth(0)
dy=DesktopHeight(0)

Debug "taille du bureau "+dx+","+dy
quelque soit le dpi tu aura toujours les memes valeurs.

si tu cherche a connaître la taille du bureau avec les dpis a 125% par exemple ou a 150%

Code : Tout sélectionner

ExamineDesktops()
dx=DesktopWidth(0)
dy=DesktopHeight(0)
udx=DesktopUnscaledX(dx)
udy=DesktopUnscaledY(dy)

Debug "taille du bureau "+dx+","+dy
Debug "taille du bureau avec les dpi "+udx+","+udy
tu ne pourra pas forcement ouvrir un screen avec la taille du bureau (en tenant compte des dpi) en plein ecran.

une solution serait d'utiliser un windowed screen avec autostretch. mais cela reste un zoom d'un screen :)

Code : Tout sélectionner

InitSprite()
InitKeyboard()
InitMouse()

ExamineDesktops()
; recupere les dimentions du bureau ( taille reele sans tenir compte du dpi)
dx=DesktopWidth(0)  
dy=DesktopHeight(0)
; calcule en fonction des dpi la coordoné maximum des gadgets 
drx = DesktopUnscaledX(dx)
dry = DesktopUnscaledY(dy)
; ouvre une fenetre a la taille du bureau en tenant compte des DPI 
main=OpenWindow(#PB_Any,0,0,drx,dry,"",#PB_Window_BorderLess)
; ouvre un windowed screen de la taille de la fenetre avec l'option zoom et offset 0,0
OpenWindowedScreen(WindowID(main),0,0,drx,dry,#True,0,0)
;   
Repeat
  ev=WaitWindowEvent(01)
  FlipBuffers()  
  StartDrawing(ScreenOutput())
  DrawingMode(#PB_2DDrawing_Outlined)
  ; trace un box de la taille de l'ecran en tenant compte des coordones des dpi.
  Box(0,0,drx-1,dry-1,RGB(255,255,255))  
  StopDrawing()  
 ForEver


Re: Question de DPI - A l'aide SVP

Publié : jeu. 02/avr./2026 10:34
par Syntax Horror
Pour les sprites, on peux aussi "regler" le DPI en zoomant le sprite

Code : Tout sélectionner

Zoomsprite(1,100,80)