2 votes

La différence de résolution d'écran avec un affichage rétina

Je peux obtenir la résolution de l'écran de mon Macbook pro en utilisant le code AppleScript de ce site.

https://stackoverflow.com/questions/1866912/applescript-how-to-get-current-display-resolution

on getScreenSize()
    -- from https://stackoverflow.com/questions/1866912/applescript-how-to-get-current-display-resolution
    set resolutions to {}
    repeat with p in paragraphs of ¬
        (do shell script "system_profiler SPDisplaysDataType | awk '/Resolution:/{ printf \"%s %s\\n\", $2, $4 }'")
        set resolutions to resolutions & {{word 1 of p as number, word 2 of p as number}}
    end repeat
    -- return the last one assuming that it should be the one that is not the Laptop screen
    return item (length of resolutions as integer) of resolutions
end getScreenSize

La valeur renvoyée correspond aux informations de "About this Mac".

enter image description here

Cependant, lorsque j'obtiens la taille de la fenêtre à partir d'un débogueur, il affiche la moitié de la valeur du système. Je crée une fenêtre pour remplir un écran, et je vérifie les limites de la fenêtre.

enter image description here

C'est déroutant et problématique car j'écris du code AppleScript qui aligne plusieurs fenêtres en utilisant la fonction set bounds commandement.

set bounds of s to {x1, y1, x2, y2}

Quelle est la différence entre la résolution d'affichage d'un système et les limites d'une fenêtre ? Peut-on supposer que (résolution du système)/2 doit être utilisé pour définir les limites pour les écrans rétina ?

2voto

Bill Points 7824

Le MacBookPro a une résolution effective qui dépend de l'échelle que vous avez configurée pour l'affichage.

enter image description here

Vous devez utiliser la résolution effective dans votre code. Vous pouvez l'obtenir à partir de ce code, mais il ne fonctionne que lorsqu'il n'y a pas de moniteurs externes.

tell application "Finder"
    set screen_resolution to bounds of window of desktop
end tell

Référence

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X