Geben Sie die Bildschirmauflösung des Geräts im spezifischen Format [width]x[height]
(ohne die Klammern) aus. Beispielsweise könnte eine Ausgabe sein 1440x900
.
Hier ist ein Online-Tester, mit dem Sie Ihre eigene Bildschirmauflösung überprüfen können.
'0x0'
Antworten:
JavaScript (ES6), 32 Byte
Ausgänge als Funktion
return
. Fügen Sief=
am Anfang und rufen Sie wief()
. Verwendet die Parameterinitialisierung, um den Parameter_
für dasscreen
Objekt zu initialisieren . Der Rest ist selbsterklärend.Hinweis: Wenn Sie ein Argument an diese Funktion übergeben, schlägt dies fehl.
JavaScript (vorherige Lösung), 35 Byte
Ich hätte nie gedacht, dass ich eines Tages verwenden werde
with
! Ich denke nicht, dass dies weiter golfen werden kann.quelle
s=screen,s.width+"x"+s.height
funktioniert dies auch (29 Zeichen).alert
: Sie gibtwith(screen)(width+'x'+height)
nur die entsprechende Zeichenfolge zurück._=screen,_.width+"x"+_.height
29 BytesTI-BASIC,
303229 Bytes (nicht konkurrierend?)* seufz * TI-BASIC benötigt für jeden Kleinbuchstaben ein zusätzliches Byte.
+2 danke an @Timtech
-3 danke an @Timtech
Dies funktioniert nur, weil TI-BASIC nur auf Rechnern mit zwei unterschiedlichen Bildschirmauflösungen ausgeführt werden kann: 96 x 64 und 320 x 240. Ich teste nur, welchen Bildschirm ich habe, indem ich den Zoom auf etwas einstelle, das je nach Bildschirmauflösung unterschiedlich ist Ausgabe der richtigen Auflösung.
Ich markiere dies vorerst als nicht konkurrierend, da es hart codiert ist.
quelle
ZDecimal
und dann einen anderenXmax
Vergleich verwenden. Außerdem denke ich, dass Sie Kleinbuchstaben verwenden müssen,x
die zwei Bytes (x2) anstelle des Ein-Byte-Äquivalents in Großbuchstaben sind.ZDecimal
) verwenden, da der Standardzoom (ZStandard
) auf beiden Rechnern gleich ist. Ich werde jedoch die Großschreibung korrigieren.ZStandard
, wäre dasΔX
dann anders zwischen den Taschenrechnern? Ist auchZDecimal
nur ein Byte, das sind also 31 Bytes.JavaScript (ES6), 32 Byte
quelle
_=>(s=screen).width+'x'+s.height
speichert ein BytemacOS, bash, awk,
grep, tr, 5152 BytesLäuft
system_profiler
, bekommt dieSPDisplaysDataType
Informationen, sucht nach dem erstenso
inResolution
und druckt die Bildschirmauflösung. Bei mehreren Bildschirmen werden alle Auflösungen gedruckt.Die frühere, fehlerhafte Variante:
quelle
2880x1800\n1920x1080@60Hz
(zwei Zeilen). Ich weiß nicht, ob das dies disqualifiziert ... oder?@60Hz
ist eindeutig nicht in der Spezifikation.|sed 1q
und die Byteanzahl auf 58 Bytes erhöhen.awk
ich auf ein zusätzliches Byte umgeschaltet habe. :)Javascript, 36 Bytes
quelle
Verarbeitung 3, 37 Bytes
fullScreen()
Bewirkt, dass die App mit den maximalen Abmessungen gestartet wird - der Anzeigeauflösung. Ein Byte weniger als das Offensichtlichequelle
AutoHotKey, 34 Bytes
Speichern Sie dies in einer Datei mit der Erweiterung .AHK und führen Sie sie an einer Eingabeaufforderung aus
quelle
Send
lieber verwenden alsMsgBox
?C (Windows),
797877 BytesVielen Dank an @Johan du Toit für das Speichern eines Bytes!
quelle
#define G GetSystemMetrics f(){printf("%dx%d",G(0),G(1));}
PowerShell,
676055 Bytes-7 danke an Martin Ender
-5 (eigentlich 12!) Von Leaky Nun , Regex-Zauberei ist mir ein Rätsel.
Das ist lang, aber nicht länger als die schreckliche
System.Windows.Forms.SystemInformation.PrimaryMonitorSize
LösungZuerst müssen wir
Get-WmiObject
(gwmi
) dasWin32_VideoController
Objekt abrufen , das ein Mitglied namens enthält. DiesVideoModeDescription
ist eine Zeichenfolge im Format von1920 x 1080 x 4294967296 colors
. Dann führe ich einen regulären Ausdruck aus, um das richtige Format zu erhalten.quelle
(gwmi win32_videocontroller|% v*n)-replace" |x[^x]+$"
ein paar Bytes durch die Regex-Optimierung rasiert werden.Mathematica, 51 Bytes
Dies funktioniert möglicherweise nicht für Sie, je nachdem, welche Geräte Sie angeschlossen haben (ich weiß nicht). Dies sollte immer funktionieren (vorausgesetzt, Sie haben mindestens einen Bildschirm angeschlossen):
Erläuterung
SystemInformation[]
Gibt einen Ausdruck des Formulars zurückUns interessiert
"Devices"
, auf welche direkt zugegriffen werden kann alsSystemInformation["Devices"]
oder alsSystemInformation[][[1,5,2]]
. Das Ergebnis ist eine Liste des FormularsWir wollen
"ScreenInformation"
, auf die entweder alsSystemInformation["Devices","ScreenInformation"]
oder prägnanter als zugegriffen werden kannSystemInformation[][[1,5,2,1,2]]
. Das Ergebnis wird von der Form seinDie Länge der Liste entspricht der Anzahl der von Ihnen verbundenen Bildschirme. Der erste Bildschirm ist
SystemInformation[][[1,5,2,1,2,1]]
und die Breite und Höhe können extrahiert werden alsSystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]
Dann fügen wir einfach einInfix
x
für das Ausgabeformat.quelle
Java 7,
123114 BytesDiese Methode funktioniert nicht bei einer kopflosen Installation von Java (wie bei TIO), da die awt-Bibliotheken verwendet werden. Unter der Haube, rufend
getScreenSize
verwendet der das Java Native Interface, um die Bildschirmbreite und -höhe (normalerweise in einer C-Bibliothek) abzurufen.-9 Bytes Dank an Olivier Grégoire , der mich daran erinnert hat, dass ich den String zurückgeben kann, anstatt ihn zu drucken.
quelle
...x...
, davoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]",""));}
die Ausgaben1920,1200
kürzer sind.x
statt,
durch einigen regex Ersatz verwenden, aber es ist fünf Bytes mehr als die aktuelle Antwort:void f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]","").replace(",","x"));}
odervoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll(".*?(\\d+).*?(\\d+).*","$1x$2"));}
Ah gut, was in Java nicht schwer ist ..; pC #,
1019589 Bytes-6 Bytes dank @TheLethalCoder , der mich daran erinnert hat, dass OP nichts über das Drucken gesagt hat. Die Rückgabe eines Strings ist also auch in Ordnung. Und zusätzliche -6 Bytes, indem Sie es in ein Lambda ändern.
quelle
Func<string>
:()=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
. Sie haben jedoch eine Rückgabe von,void
aber Sie geben a zurück,string
so dass Sie 2 Bytes dafür hinzufügen müssen._=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
var s=System.Windows.Forms.Screen.AllScreens[0].Bounds;
wäre das auch die gleiche Zahl, aber Sie könnten es mit dieser Idee spielen.Bash + xrandr, 44 Zeichen
xrandr
gehört zum X-Server, wird unter Ubuntu von x11-xserver-utils bereitgestellt Paket bereitgestellt.Probelauf:
xrandr + grep + util-linux, 30 Zeichen
Dank an:
Probelauf:
quelle
xrandr|grep *
funktionieren?grep
undsed
,xrandr
die Ausgabe ( pastebin.com/uTVcjWCq ) zu analysieren , länger.xrandr|grep *|cut -d' ' -f1
? (Verwenden Sie die passende Zeile aus Ihrer Paste @ TIO )Python 2, 73 Bytes
quelle
print u(0),'x',u(1)
ist kleiner und sein Beispiel ( Link ) erlaubt esTo clarify, If it's equivalent to the output from What is my screen resolution, It's valid.
Auf dieser Website ist zwischen den einzelnen Teilen ein Leerzeichen vorhandenOktave , 41 Bytes
Vielen Dank an @Arjun und @StephenS für die Korrekturen.
0
ist ein Handle zum Root-Grafikobjekt. Seine Eigenschaft'ScreenSize'
enthält die Koordinaten des Bildschirms in Pixel. Der dritte und vierte Eintrag geben die gewünschten Informationen.quelle
APL (Dyalog) , 23 Bytes
⎕WG'DevCaps'
W indow G et Dev ice Cap abilitie s⊃
wähle die erste Eigenschaft (Höhe, Breite)⌽
umkehren⍕
Format als Text' '⎕R'x'
R eplace Räume mit „x“quelle
Japt , 24 Bytes
Online testen!
Die komprimierte Zeichenfolge repräsentiert
with(screen)width+"x"+height
.Ox
wertet dies als JavaScript aus und das Ergebnis wird implizit gedruckt.quelle
C (SDL2-Bibliothek)
1138884(-4 Zeichen aufgrund der Hilfe von @AppleShell)
Ja. es kompiliert.
Laufen mit:
gcc snippet.c -lSDL2 && ./a.out
quelle
m
global machen undint
m[3];main(){...
m+1
sollte kürzer sein alsm[1]
richtig? oder geht das nicht in c sondern nur in c ++? Sicherlich hat printf einige Dereferenzierung TokenPython 2,
6149 BytesVielen Dank an Jonathan-Allan, Felipe-Nardi-Batista
Bei Einzelanzeige-Setups entspricht dies der Ausgabe von der Site. Dies ergibt die gesamte Auflösung für mehrere Anzeigen.
quelle
print'x'....
speichert ein Bytev=Tk().maxsize()
,print'%sx%s'%v
Spart 9 Bytes.print'%sx%s'%Tk().maxsize()
speichert dann weitere 4> _ <Bash + xdpyinfo
4231 BytesAus der Manpage:
@Floris @manatwork Danke, dass du ein paar Bytes gespart hast!
quelle
-d\
anstelle von schreiben-d' '
. Dann , wenn es um beide kommtgrep
für eine Linie undcut
einen Teil dieser Linie, ist in der Regel kürzer mit einem einzigenawk
Anruf:xdpyinfo|awk '/dim/&&$0=$2'
.dimensions
aber ich habe nichtxdpyinfo
auf meinem System ...xrandr
+ awk, 25 Bytesquelle
grep *
Erweitert den Stern auf alle Dateien im Verzeichnis.grep|cut
istawk
.*0
. Meine xrandr Ausgabe ist*0 3360 x 1050 ( 889mm x 278mm ) *0
.-f2
, kannst du das überprüfenxrandr|awk '/\*/{print $2}'
?ZX Spectrum Basic, 10 Byte
Nur der Vollständigkeit halber:
Ausgänge
256x192
. Das Spectrum hat eine feste festverdrahtete Bildschirmauflösung.quelle
Verarbeitung, 51 Bytes
Diese gibt in diesem Format:
width height
. Außerdem erstellt das Programm ein Fenster in der Größe des von Ihnen verwendeten Bildschirms (da jedes Verarbeitungsprogramm standardmäßig ein Fenster erstellt) und dieses Programm gibt nur die Höhe und Breite dieses Fensters / dieser Skizze aus.quelle
WIDTHxHEIGHT
.xdpyinfo
+awk
28 BytesGetestet auf Cygwin mit Doppelköpfen.
quelle
xdpyinfo|awk /dim/{print\$2}
dauert 28 Bytes nicht 24Tcl / Tk, 40
quelle
Lithp , 116 Bytes
(Zeilenumbrüche zur besseren Lesbarkeit hinzugefügt)
Probieren Sie es online!
Endlich kommt mein HTML-Toolkit-Modul zum Einsatz! Funktioniert nur über den Link "Online testen". Funktioniert nicht über die Befehlszeile.
Einige Bytes könnten gespeichert werden, wenn
1024 x 768
eine gültige Ausgabe möglich wäre. Wir verwenden nur(+ .. "x" .. )
, umprint
implizite Abstände zu vermeiden .quelle
2048x1080
um einen echten 4K-Bildschirm handelt4096x2160
. Irgendeine Idee warum? Firefox 52.0 auf FreeBSD 11.window.screen
und hole diewidth
undheight
Attribute daraus. Ich stelle mir vor, wenn Sie die Firefox-Konsole geöffnet und eingetippt haben, werdenwindow.screen
Sie das anscheinend Falsche sehen2048x1080
.Lua (Löve Framework), 116 Bytes
Das Programm wechselt zuerst in den Vollbildmodus, erhält dann die Breite und Höhe und druckt sie dann aus :)
quelle
xrandr und sh, 23 Bytes
Getestet auf einer CentOS 5-Box mit Anzeige, die auf eine Cygwin-Maschine mit zwei Monitoren umgeleitet wurde. Hier ist die volle
xrandr
Leistungquelle
Ruby + xrandr, 37 Bytes
Alternative Lösung (52 Byte):
quelle
Rot , 26 Bytes
Ausgänge zum Beispiel:
Der Code ist ziemlich selbsterklärend. Das
1
bezieht sich auf den ersten Bildschirmquelle