La differenza di risoluzione dello schermo con un display retina

0

Posso ottenere la risoluzione dello schermo del mio Macbook Pro usando il codice AppleScript su questo sito.

link

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

Il valore restituito corrisponde alle informazioni di "Informazioni su questo Mac".

Tuttavia,quandoottengoledimensionidellafinestradaundebugger,mostralametàdelvaloredalsistema.Facciounafinestraperriempireunoschermoecontrolloilimitidellafinestra.

Questo è confuso e problematico mentre sto scrivendo il codice AppleScript che allinea più finestre usando il comando set bounds .

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

Che cosa fa la differenza tra la risoluzione dello schermo di un sistema e i limiti di una finestra? È giusto presumere che (risoluzione di sistema) / 2 debba essere usato per impostare limiti per i display retina?

    
posta prosseek 18.07.2017 - 03:40
fonte

1 risposta

2

MacBookPro ha una risoluzione effettiva che dipende dalla scala impostata per il display.

Deviusarelarisoluzioneeffettivaneltuocodice.Puoiottenerlodaquestocodice,mafunzionasoloquandononcisonomontatoriesterni.

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

Riferimento

risposta data 08.08.2017 - 19:21
fonte

Leggi altre domande sui tag