Re: Question de DPI - A l'aide SVP
Publié : mar. 31/mars/2026 0:06
les dpi ne changent pas la taille du bureau
si tu fait
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%
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
si tu fait
Code : Tout sélectionner
ExamineDesktops()
dx=DesktopWidth(0)
dy=DesktopHeight(0)
Debug "taille du bureau "+dx+","+dy
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
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