Afficher la résolution de l'écran du périphérique au format spécifique de [width]x[height]
(sans les crochets). Par exemple, une sortie pourrait être 1440x900
.
Voici un testeur en ligne que vous pouvez utiliser pour vérifier votre propre résolution d'écran.
'0x0'
Réponses:
JavaScript (ES6), 32 octets
Sorties en fonction
return
. Ajouterf=
au début et invoquer commef()
. Utilise l'initialisation des paramètres_
pour initialiser le paramètre à l'screen
objet. Le reste est explicite.Remarque: le fait de passer un argument à cette fonction entraînera son échec.
JavaScript (solution précédente), 35 octets
Jamais pensé que je vais utiliser un jour
with
! Je ne pense pas que cela puisse être joué plus loin.la source
s=screen,s.width+"x"+s.height
(29 caractères) fonctionne également.alert
:with(screen)(width+'x'+height)
renvoie simplement la chaîne appropriée._=screen,_.width+"x"+_.height
:, 29 octetsTI-BASIC,
303229 octets (non concurrent?)* sigh * TI-BASIC prend un octet supplémentaire pour chaque lettre minuscule.
+2 grâce à @Timtech
-3 grâce à @Timtech
Cela ne fonctionne que parce que TI-BASIC ne peut être exécuté que sur des calculatrices avec deux résolutions d'écran différentes: 96 sur 64 et 320 sur 240. afficher la résolution correcte.
Je marque ceci comme non compétitif pour le moment, car c'est codé en dur.
la source
ZDecimal
, puis en utilisant uneXmax
comparaison différente , au moins un octet. De plus, je pense que vous devez utiliser des minusculesx
qui sont deux octets (x2) au lieu de l'équivalent d'un octet majuscule.ZDecimal
) parce que le zoom par défaut (ZStandard
) est le même sur les deux calculatrices. Je vais réparer la capitalisation, cependant.ZStandard
bien, seraitΔX
différent alors entre les calculatrices? En outre, ilZDecimal
ne s'agit que d'un octet, il s'agit donc de 31 octets.JavaScript (ES6), 32 octets
la source
_=>(s=screen).width+'x'+s.height
sauve un octetmacOS, bash, awk,
grep, tr, 5152 octetsFonctionne
system_profiler
, obtient lesSPDisplaysDataType
informations, recherche le premierso
enResolution
, et imprime la résolution d'écran. Pour plusieurs écrans, cela imprime toutes les résolutions.La variante antérieure non conforme:
la source
2880x1800\n1920x1080@60Hz
(deux lignes). Je ne sais pas si cela disqualifie cela ... ou?@60Hz
n'est clairement pas dans les spécifications.|sed 1q
nombre d’octets allant jusqu’à 58 octets.awk
et en ayant un octet supplémentaire. :)Javascript, 36 octets
la source
Traitement 3, 37 octets
fullScreen()
provoque le lancement de l’application avec les dimensions maximales - la résolution de l’affichage. Un octet de moins que l'évidencela source
AutoHotKey, 34 octets
Enregistrez ceci dans un fichier avec l'extension .AHK et exécutez-le à partir d'une invite de commande.
la source
Send
plutôt queMsgBox
?C (Windows),
797877 octetsMerci à @Johan du Toit pour avoir sauvegardé un octet!
la source
#define G GetSystemMetrics f(){printf("%dx%d",G(0),G(1));}
PowerShell,
676055 octets-7 grâce à Martin Ender
-5 (en fait 12!) De Leaky Nun , la magie de Regex me dépasse.
C'est long mais pas plus long que la
System.Windows.Forms.SystemInformation.PrimaryMonitorSize
solution épouvantabled’abord nous
Get-WmiObject
(gwmi
) pour récupérer l’Win32_VideoController
objet, qui contient un membre nomméVideoModeDescription
, qui est une chaîne au format1920 x 1080 x 4294967296 colors
, puis j’exécute un remplacement de regex pour obtenir le format correct.la source
(gwmi win32_videocontroller|% v*n)-replace" |x[^x]+$"
rase quelques octets en peaufinant la regex.Mathematica, 51 octets
Cela peut ne pas fonctionner pour vous en fonction des appareils que vous avez connectés (je ne sais pas). Cela devrait toujours fonctionner (en supposant que vous ayez au moins un écran connecté):
Explication
SystemInformation[]
retourne une expression de la formeNous sommes intéressés à
"Devices"
, ce qui peut être consulté directement commeSystemInformation["Devices"]
ou commeSystemInformation[][[1,5,2]]
. Le résultat sera une liste du formulaireNous voulons
"ScreenInformation"
, qui peut être consulté soit commeSystemInformation["Devices","ScreenInformation"]
ou plus succinctement commeSystemInformation[][[1,5,2,1,2]]
. Le résultat sera de la formeLa longueur de la liste sera le nombre d'écrans que vous avez connectés. Le premier écran est
SystemInformation[][[1,5,2,1,2,1]]
et la largeur et la hauteur peuvent être extraites en tant queSystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]
Ensuite, nous insérons simplement unInfix
x
pour le format de sortie.la source
Java 7,
123114 bytesThis method will not work in a headless installation of Java (like on TIO) because it uses the awt libraries. Under the hood, calling
getScreenSize
uses the Java Native Interface to call out (typically into a C library) for the screen width and screen height.-9 bytes thanks to Olivier Grégoire for reminding me that I can return the string instead of printing it.
la source
...x...
, becausevoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]",""));}
which outputs1920,1200
is shorter..x
instead of,
by using some regex replacement, but it's five bytes more than your current answer:void f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]","").replace(",","x"));}
orvoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll(".*?(\\d+).*?(\\d+).*","$1x$2"));}
Ah well, what isn't heavy in Java.. ;pC#,
1019589 bytes-6 bytes thanks to @TheLethalCoder by reminding me OP didn't mention about printing, so returning a string is also fine. And an additional -6 bytes by changing it to a lambda.
la source
Func<string>
:()=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
. However, you have a return ofvoid
but you are returning astring
so you need to add 2 bytes for that._=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
var s=System.Windows.Forms.Screen.AllScreens[0].Bounds;
would also be the same count but you could golf it with that idea in mind.Bash + xrandr, 44 characters
xrandr
belongs to the X server, on Ubuntu is provided by x11-xserver-utils package.Sample run:
xrandr + grep + util-linux, 30 characters
Thanks to:
Sample run:
la source
xrandr|grep *
work?grep
andsed
attempts to parsexrandr
's output (pastebin.com/uTVcjWCq) were longer.xrandr|grep *|cut -d' ' -f1
? (using the matching line from your paste @TIO)Python 2, 73 bytes
la source
print u(0),'x',u(1)
is smaller and his example (link) allows itTo clarify, If it's equivalent to the output from What is my screen resolution, It's valid.
in that website, there is space between each partOctave, 41 bytes
Thanks to @Arjun and @StephenS for corrections.
0
is a handle to the root graphics object. Its property'ScreenSize'
contains the coordinates of the screen in pixels. The third and fourth entries give the desired information.la source
APL (Dyalog), 23 bytes
⎕WG'DevCaps'
Window Get Device Capabilities⊃
pick the first property (height, width)⌽
reverse⍕
format as text' '⎕R'x'
Replace spaces with "x"sla source
Japt, 24 bytes
Test it online!
The compressed string represents
with(screen)width+"x"+height
.Ox
evaluates this as JavaScript, and the result is implicitly printed.la source
C (SDL2 library)
1138884(-4 chars due to @AppleShell 's help)
Yes. it compiles.
Run with :
gcc snippet.c -lSDL2 && ./a.out
la source
m
global and omittingint
:m[3];main(){...
m+1
should be shorter thanm[1]
right? or isn't that possible in C but only in C++? surely printf has some dereference tokenPython 2,
6149 bytesThanks @Jonathan-allan, @felipe-nardi-batista
For single display setups, this matches the output from the site. This gives entire resolution for multiple displays.
la source
print'x'....
saves a bytev=Tk().maxsize()
,print'%sx%s'%v
saves 9 bytes.print'%sx%s'%Tk().maxsize()
saves another 4 >_<bash + xdpyinfo
4231 bytesFrom man page:
@Floris @manatwork Thanks for saving a few bytes!
la source
-d\
instead of-d' '
. Then when it comes to bothgrep
for a line andcut
a part of that line, usually is shorter with a singleawk
call:xdpyinfo|awk '/dim/&&$0=$2'
.dimensions
but I don't havexdpyinfo
on my system...xrandr
+ awk, 25 bytesla source
grep *
expands the asterisk to all files in the directory.grep|cut
isawk
.*0
. My xrandr output is*0 3360 x 1050 ( 889mm x 278mm ) *0
.-f2
Btw, Can you checkxrandr|awk '/\*/{print $2}'
?ZX Spectrum Basic, 10 bytes
just for completeness:
outputs
256x192
. The Spectrum has a fixed hardwired screen resolution.la source
Processing, 51 bytes
This outputs in this format:
width height
. Also, the program creates a window that is the size of the screen you are using (because every Processing program creates a window by default) and this program just outputs the height and the width of this window/sketch.la source
WIDTHxHEIGHT
.xdpyinfo
+awk
, 28 bytesTested on Cygwin with dual heads.
la source
xdpyinfo|awk /dim/{print\$2}
takes 28 bytes not 24Tcl/Tk, 40
la source
Lithp, 116 bytes
(Line breaks added for readability)
Try it online!
Finally, my html-toolkit module gets some use! Only works in the Try it Online link, will not work from command line.
A few bytes could be saved if
1024 x 768
could be valid output. We just use(+ .. "x" .. )
to avoidprint
's implicit spacing.la source
2048x1080
for a true 4K screen that's actually4096x2160
. Any idea why? Firefox 52.0 on FreeBSD 11.window.screen
and getting thewidth
andheight
attributes from it. I imagine if you opened up the Firefox console and typed inwindow.screen
you'll see the apparently incorrect2048x1080
.Lua (löve framework),116 bytes
The programm changes first to fullscreen then it gets the width and height and prints it then :)
la source
xrandr and sh, 23 bytes
Tested on a CentOS 5 box with display redirected to a Cygwin machine with two monitors. Here the full
xrandr
output isla source
Ruby + xrandr, 37 bytes
Alternate solution (52 bytes):
la source
Red, 26 Bytes
Outputs for example:
The code is pretty self explanatory. The
1
refers to the first screenla source