Imprima la resolución de pantalla del dispositivo en el formato específico de [width]x[height]
(sin los corchetes). Por ejemplo, una salida podría ser 1440x900
.
Aquí hay un probador en línea que puede usar para verificar su propia resolución de pantalla.
'0x0'
Respuestas:
JavaScript (ES6), 32 bytes
Salidas como función
return
. Agreguef=
al principio e invoque comof()
. Utiliza la inicialización de parámetros para inicializar el parámetro_
alscreen
objeto. El resto se explica por sí mismo.Nota: Pasar un argumento a esta función hará que falle.
JavaScript (solución anterior), 35 bytes
¡Nunca pensé que algún día lo usaría
with
! No creo que esto pueda jugarse más.fuente
s=screen,s.width+"x"+s.height
(29 caracteres) también funciona.alert
:with(screen)(width+'x'+height)
solo devuelve la cadena adecuada._=screen,_.width+"x"+_.height
29 bytesTI-BASIC,
303229 bytes (¿no compite?)* suspiro * TI-BASIC toma un byte extra por cada letra minúscula.
+2 gracias a @Timtech
-3 gracias a @Timtech
Esto solo funciona porque TI-BASIC solo puede ejecutarse en calculadoras con dos resoluciones de pantalla diferentes: 96 por 64 y 320 por 240. Solo pruebo para ver qué pantalla tengo configurando el Zoom en algo diferente dependiendo de la resolución de la pantalla. dando salida a la resolución correcta.
Estoy marcando esto como no competitivo por ahora, ya que está codificado.
fuente
ZDecimal
y luego utilizando unaXmax
comparación diferente , al menos un byte. Además, creo que debe usar minúsculas,x
que son dos bytes (x2) en lugar del equivalente en mayúsculas de un byte.ZDecimal
) porque el zoom predeterminado (ZStandard
) es el mismo en ambas calculadoras. Sin embargo, arreglaré la capitalización.ZStandard
embargo, si lo usa , ¿ΔX
sería diferente entre las calculadoras? Además,ZDecimal
es solo un byte, por lo que son 31 bytes.JavaScript (ES6), 32 bytes
fuente
_=>(s=screen).width+'x'+s.height
guarda un bytemacOS, bash, awk,
grep, tr, 5152 bytesCarreras
system_profiler
, obtiene laSPDisplaysDataType
información, busca la primeraso
enResolution
, e imprime la resolución de la pantalla. Para múltiples pantallas, esto imprime todas las resoluciones.La variante anterior, mal compatible:
fuente
2880x1800\n1920x1080@60Hz
(dos líneas). No sé si eso descalifica esto ... o?@60Hz
claramente no está en las especificaciones.|sed 1q
, lo que elevaría el número de bytes hasta 58 bytes.awk
y tener un byte adicional. :)Javascript, 36 bytes
fuente
Procesando 3, 37 bytes
fullScreen()
hace que la aplicación se inicie con las dimensiones máximas: la resolución de pantalla. Un byte menos que lo obviofuente
AutoHotKey, 34 bytes
Guarde esto en un archivo con extensión .AHK y ejecútelo desde un símbolo del sistema
fuente
Send
lugar deMsgBox
?C (Windows),
797877 bytes¡Gracias a @Johan du Toit por guardar un byte!
fuente
#define G GetSystemMetrics f(){printf("%dx%d",G(0),G(1));}
PowerShell,
676055 bytes-7 gracias a Martin Ender
-5 (¡en realidad 12!) De Leaky Nun , la magia de Regex me supera.
Esto es largo pero no más largo que la
System.Windows.Forms.SystemInformation.PrimaryMonitorSize
solución horrendaprimero
Get-WmiObject
(gwmi
) para recuperar elWin32_VideoController
objeto, que contiene un miembro llamadoVideoModeDescription
, que es una cadena en el formato de1920 x 1080 x 4294967296 colors
, luego ejecuto un reemplazo de expresiones regulares para obtener el formato correcto.fuente
(gwmi win32_videocontroller|% v*n)-replace" |x[^x]+$"
reduce un par de bytes ajustando la expresión regular.Mathematica, 51 bytes
Es posible que esto no funcione para usted dependiendo de los dispositivos que haya conectado (no lo sé). Esto siempre debería funcionar (suponiendo que tenga al menos una pantalla conectada):
Explicación
SystemInformation[]
devuelve una expresión de la formaEstamos interesados
"Devices"
, a los que se puede acceder directamente comoSystemInformation["Devices"]
o comoSystemInformation[][[1,5,2]]
. El resultado será una lista del formulario.Queremos
"ScreenInformation"
, al que se puede acceder comoSystemInformation["Devices","ScreenInformation"]
o más sucintamente comoSystemInformation[][[1,5,2,1,2]]
. El resultado será de la formaLa longitud de la lista será la cantidad de pantallas que haya conectado. La primera pantalla es
SystemInformation[][[1,5,2,1,2,1]]
y el ancho y la altura se pueden extraer comoSystemInformation[][[1,5,2,1,2,1,2,2,;;,2]]
Luego, simplemente insertamos unInfix
x
para el formato de salida.fuente
Java 7,
123114bytesEste método no funcionará en una instalación sin cabeza de Java (como en TIO) porque usa las bibliotecas awt. Bajo el capó, las llamadas
getScreenSize
utilizan la interfaz nativa de Java para llamar (generalmente a una biblioteca C) para el ancho y la altura de la pantalla.-9 bytes gracias a Olivier Grégoire por recordarme que puedo devolver la cadena en lugar de imprimirla.
fuente
...x...
, porquevoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]",""));}
las salidas1920,1200
son más cortas ...x
lugar de,
usar algún reemplazo de expresiones regulares, pero es cinco bytes más que su respuesta actual:void f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll("[^\\d,]","").replace(",","x"));}
ovoid f(){System.out.print((java.awt.Toolkit.getDefaultToolkit().getScreenSize()+"").replaceAll(".*?(\\d+).*?(\\d+).*","$1x$2"));}
Ah, bueno, lo que no es pesado en Java ...; pC #,
1019589 bytes-6 bytes gracias a @TheLethalCoder recordándome que OP no mencionó sobre la impresión, por lo que devolver una cadena también está bien. Y un -6 bytes adicionales al cambiarlo a lambda.
fuente
Func<string>
:()=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
. Sin embargo, tiene un retorno devoid
pero está devolviendo un,string
por lo que debe agregar 2 bytes para eso._=>{var s=System.Windows.Forms.Screen.PrimaryScreen.Bounds;return s.Width+"x"+s.Height;};
var s=System.Windows.Forms.Screen.AllScreens[0].Bounds;
, también sería lo mismo, pero podrías jugarlo con esa idea en mente.Bash + xrandr, 44 caracteres
xrandr
pertenece al servidor X, en Ubuntu es proporcionado por el paquete x11-xserver-utils .Ejecución de muestra:
xrandr + grep + util-linux, 30 caracteres
Gracias a:
Ejecución de muestra:
fuente
xrandr|grep *
funcionaría?grep
y lossed
intentos de analizarxrandr
la salida ( pastebin.com/uTVcjWCq ) fueron más largos.xrandr|grep *|cut -d' ' -f1
? (usando la línea correspondiente de su pegar @ TIO )Python 2, 73 bytes
fuente
print u(0),'x',u(1)
es más pequeño y su ejemplo ( enlace ) lo permiteTo clarify, If it's equivalent to the output from What is my screen resolution, It's valid.
en ese sitio web, hay espacio entre cada parteOctava , 41 bytes
Gracias a @Arjun y @StephenS por las correcciones.
0
es un identificador para el objeto gráfico raíz. Su propiedad'ScreenSize'
contiene las coordenadas de la pantalla en píxeles. Las entradas tercera y cuarta dan la información deseada.fuente
APL (Dyalog) , 23 bytes
⎕WG'DevCaps'
W indow G et Dev ice Cap abilitie s⊃
elige la primera propiedad (altura, ancho)⌽
marcha atrás⍕
formatear como texto' '⎕R'x'
R espacios EColoque con s "x"fuente
Japt , 24 bytes
¡Pruébelo en línea!
La cadena comprimida representa
with(screen)width+"x"+height
.Ox
evalúa esto como JavaScript, y el resultado se imprime implícitamente.fuente
C (biblioteca SDL2)
1138884(-4 caracteres debido a la ayuda de @AppleShell)
Sí. Se compila.
Corre con :
gcc snippet.c -lSDL2 && ./a.out
fuente
m
global y omitiendoint
:m[3];main(){...
m+1
debe ser más corto que elm[1]
correcto? ¿o no es eso posible en C pero solo en C ++? seguramente printf tiene algún token de desreferenciaPython 2,
6149 bytesGracias @ Jonathan-allan, @ felipe-nardi-batista
Para configuraciones de pantalla única, esto coincide con la salida del sitio. Esto proporciona una resolución completa para múltiples pantallas.
fuente
print'x'....
guarda un bytev=Tk().maxsize()
,print'%sx%s'%v
ahorra 9 bytes.print'%sx%s'%Tk().maxsize()
guarda otros 4> _ <bash + xdpyinfo
4231 bytesDesde la página del manual:
@Floris @manatwork ¡Gracias por guardar algunos bytes!
fuente
-d\
lugar de-d' '
. Luego, cuando se trata tantogrep
de una línea como decut
una parte de esa línea, generalmente es más corta con una solaawk
llamada:xdpyinfo|awk '/dim/&&$0=$2'
.dimensions
yo, pero no tengoxdpyinfo
en mi sistema ...xrandr
+ awk, 25 bytesfuente
grep *
expande el asterisco a todos los archivos en el directorio.grep|cut
esawk
.*0
. Mi salida xrandr es*0 3360 x 1050 ( 889mm x 278mm ) *0
.-f2
Btw, ¿puedes verificarxrandr|awk '/\*/{print $2}'
?ZX Spectrum Basic, 10 bytes
solo para completar:
salidas
256x192
. El Spectrum tiene una resolución de pantalla fija fija.fuente
Procesamiento, 51 bytes
Esto genera en este formato:
width height
. Además, el programa crea una ventana que es del tamaño de la pantalla que está utilizando (porque cada programa de procesamiento crea una ventana por defecto) y este programa solo muestra la altura y el ancho de esta ventana / boceto.fuente
WIDTHxHEIGHT
.xdpyinfo
+awk
, 28 bytesProbado en Cygwin con cabezales dobles.
fuente
xdpyinfo|awk /dim/{print\$2}
toma 28 bytes, no 24Tcl / Tk, 40
fuente
Lithp , 116 bytes
(Saltos de línea añadidos para facilitar la lectura)
Pruébalo en línea!
¡Finalmente, mi módulo html-toolkit se usa! Solo funciona en el enlace Pruébelo en línea, no funcionará desde la línea de comandos.
Se podrían guardar algunos bytes si
1024 x 768
pudiera ser una salida válida. Solo usamos(+ .. "x" .. )
para evitarprint
el espacio implícito.fuente
2048x1080
en realidad es una pantalla 4K real4096x2160
. ¿Alguna idea de por qué? Firefox 52.0 en FreeBSD 11.window.screen
y obteniendo los atributoswidth
yheight
. Me imagino que si abres la consola de Firefox y escribeswindow.screen
, verás lo aparentemente incorrecto2048x1080
.Lua (marco de löve), 116 bytes
El programa cambia primero a pantalla completa, luego obtiene el ancho y la altura y luego lo imprime :)
fuente
xrandr y sh, 23 bytes
Probado en una caja CentOS 5 con pantalla redirigida a una máquina Cygwin con dos monitores. Aquí la
xrandr
salida completa esfuente
Ruby + xrandr, 37 bytes
Solución alternativa (52 bytes):
fuente
Rojo , 26 bytes
Salidas por ejemplo:
El código se explica por sí mismo. El se
1
refiere a la primera pantallafuente